@zkweb

Как исправить ошибку в Django — add_view?

Есть 2 группы пользователей: продавцы, директор магазина
Ну и суперадмин, который видит всё и может редактировать всё.

Для продавца при добавлении записи скрыты определенные поля, тоже самое для директора.

Вот код:

def add_view(self, request, form_url='', extra_context=None):
        if not request.user.is_superuser:
            if request.user.groups.all()[0].id == 2:
                self.exclude=('date_job', 'text_job', 'vendors_response', 'solution', 'response_buyer', 'status', 'user', 'shop')
            elif request.user.groups.all()[0].id == 4:
                self.exclude=('date_job', 'text_job', 'vendors_response', 'solution', 'response_buyer', 'status', 'user') 
            else:    
                self.exclude=('date_job')             
        return super(ClaimAdmin, self).add_view(request, form_url='', extra_context=None)


Проблема: открыты два браузера. В одном под суперадмином, в другом под продавцом.
Добавляю запись под продавцом, всё в порядке, нужные поля скрыты.
Добавляю под суперадмином, ТАКЖЕ все поля скрыты, обновляю страницу (раз 5) вдруг доступны все остальные поля, снова обновляю опять скрыто (

Как такое может быть?
  • Вопрос задан
  • 185 просмотров
Решения вопроса 1
@deliro
exclude - поле класса, а не объекта. В __init__ вьюхи пропиши self.exclude = None
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы