Size: a a a

Django [ru] #STAY HOME

2020 February 06

J

Jack in Django [ru] #STAY HOME
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Tim
Как разграничить доступы в админке для разных типов пользователей?
Каждый может изменять, удалять, добавлять только по Foreign Key (то есть, если имеет отношение к объекту)

Например,
Владелец Системы (ВС) - суперюзер может все
Владелец магазина (ВМ) - может создавать только магазины и РМ( с паролем и логином). Приэтом не менять не удалять других пользователей
Работник магазина (РМ) - может зайти в админку, например, и поменять что-то в Магазине, к которому относится его ВМ.


ВМ и РМ можно реализовать посредством связи OneToOne с User(AbstractUser).
User будет иметь типа типа is_ВМ, is_РМ

Пока видется решение такое: в зависимости от типа юзера подставлять определенную форму, а также фильтровать все queryset на основе типа юзера.

Есть еще варианты?
а что же permissions не хватает? - app_name.view_shop, app_name.delete_shop, app_name.change_shop, app_name.add_shop
источник

V

Vladislav in Django [ru] #STAY HOME
Jack
Ошибка в шаблоне
источник

V

Vladislav in Django [ru] #STAY HOME
Попробуй так "{% url 'cart:cart_detail' %}"
источник

T

Tim in Django [ru] #STAY HOME
Artem Gubatenko
а что же permissions не хватает? - app_name.view_shop, app_name.delete_shop, app_name.change_shop, app_name.add_shop
ну, чтобы добавить пользователя, нужно разрешить change_user - так можно любого юзера изменить
источник

G

Graywolf in Django [ru] #STAY HOME
Jack
Прошу прощения за скрины
что за смесь в urls patn и url?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Tim
ну, чтобы добавить пользователя, нужно разрешить change_user - так можно любого юзера изменить
чтобы добавить, разве, add_user не хватает?
источник

AK

Anvar Khamidov in Django [ru] #STAY HOME
Ребят, еще раз привет всем. По вчерашнему вопросу, кто помнит, не знаю почему но что-то еще не догоняю.
1.У каждого объекта в админке в листе объектов нужно сделать кнопку (ГОТОВО)
2. По кнопке нужно перехродить на template admin/show/ к примеру - пока не пойму где прописывать url для админки, я же не могу просто в urls.py закинуть просто так.
3. Сделать форму с дропдаун листом и с кнопкой, которая отправляет выбранную роль на другой сервер, которая и дает права. Дропдаун есть, вопрос такой по этой теме, въюху мне делать во  views.py?
источник

J

Jack in Django [ru] #STAY HOME
Vladislav
Попробуй так "{% url 'cart:cart_detail' %}"
Понял, сейчас)
источник

T

Tim in Django [ru] #STAY HOME
Artem Gubatenko
чтобы добавить, разве, add_user не хватает?
нет)
источник

J

Jack in Django [ru] #STAY HOME
Graywolf
что за смесь в urls patn и url?
ДА, мне тоже нравится)
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Tim
ну, чтобы добавить пользователя, нужно разрешить change_user - так можно любого юзера изменить
кроме того можно добавлять кастомные permissions и определять поведение в админке на уровне одной записи в моделе
источник

J

Jack in Django [ru] #STAY HOME
Vladislav
Попробуй так "{% url 'cart:cart_detail' %}"
Нет, не помогло
источник

T

Tim in Django [ru] #STAY HOME
Artem Gubatenko
кроме того можно добавлять кастомные permissions и определять поведение в админке на уровне одной записи в моделе
вот, с кастомными не понял. Это функция или класс? не нашел примера, кроме как прописать в в Meta - permissions
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Tim
вот, с кастомными не понял. Это функция или класс? не нашел примера, кроме как прописать в в Meta - permissions
оно самое, в Meta
источник

V

Vladislav in Django [ru] #STAY HOME
Jack
Нет, не помогло
Поиграй с url в общем. Ещё можешь попробовать так  "{% url 'cart_detail' %}"
источник

J

Jack in Django [ru] #STAY HOME
Но это странно что при обращении он просит product_detail при обращении к каталогу..
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Tim
вот, с кастомными не понял. Это функция или класс? не нашел примера, кроме как прописать в в Meta - permissions
потом request.user.has_perm('app_name.perm_name')
у Юзера есть несколько методов для проверки
источник

J

Jack in Django [ru] #STAY HOME
Jack
Но это странно что при обращении он просит product_detail при обращении к каталогу..
А все этого после задания id во views
источник

T

Tim in Django [ru] #STAY HOME
Artem Gubatenko
оно самое, в Meta
типа пишу в permissions ( ('create_task', '...'),
и проверяю так user.has_perm('create_task')?
источник