Как я могу сделать представление с администратором и пользователем?

Я делаю груб в Django, и когда я создаю его, он показывает и опции в зависимости от того, являетесь ли вы администратором или Jefe из таблицы. администратор его из панели Django

class UsuarioCrear(SuccessMessageMixin, CreateView):
    model = Usuarios
    form = Usuarios
    if user.is_superuser:
        fields = ['nombre', 'correo', 'contraseña', 'cedula']
        success_message = 'usuario creado correctamente !'
        def get_success_url(self):
            return reverse('leer')
    else:
        fields = "_all_"
        success_message = 'usuario creado correctamente !'
        def get_success_url(self):
            return reverse('leer')

Итак, я пытаюсь с помощью if спросить, показывает ли суперпользователь все поля и если нет, то показывает ли суперпользователь определенные поля, но я получаю ошибку, когда я делаю это

Это представление модели

class Usuarios(models.Model): 
    id = models.BigAutoField(primary_key=True)
    nombre = models.CharField(max_length=30, blank=False)
    rol = models.CharField(max_length=30, choices=roles, default='seleccionar', blank=False)
    correo = models.CharField(max_length=30, blank=False)
    contraseña = models.CharField(max_length=30, blank=False)
    cedula = models.CharField(max_length=30, blank=False)

Просто импортируйте его.

from django.contrib.auth.models import User as user

Теперь эта ошибка будет устранена.

А также попробуйте следующее:

if user.is_superuser():
        fields = "__all__" 
        success_message = 'usuario creado correctamente !'
        user.save()
        def get_success_url(self):
            return reverse('leer')
else:
        fields = ['nombre', 'correo', 'contraseña', 'cedula']
        success_message = 'usuario creado correctamente !'
        def get_success_url(self):
            return reverse('leer')
Вернуться на верх