Как я могу сделать представление с администратором и пользователем?
Я делаю груб в 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')