Greetings to all.
I have a system with which I create 3 profiles, teaching, administrative and general services for a user. Each profile corresponds to a group of permissions. A user can only be assigned one permission group at a time.
How can I make the permission groups be assigned automatically?
When creating a user with the teacher profile, the teacher permission group is assigned. If I update this user with the administrative profile, the teacher permission group is deleted and the permission group is assigned to administrative.
class Empleado(MarcadorTiempo, Persona):
usuario = models.OneToOneField(User, null=False, blank=False, verbose_name='usuario', on_delete=models.CASCADE)
fecha_ingreso = models.DateField(null=True, blank=True, verbose_name='fecha de ingreso')
titulo_obtenido = models.ForeignKey(TituloObtenido, null=True, blank=True, verbose_name='titulo obtenido',
on_delete=models.CASCADE)
carrera_profesional = models.ForeignKey(CarrreraProfesional, null=True, blank=True,
verbose_name='carrera profesional', on_delete=models.CASCADE)
perfil = models.ForeignKey(Perfil, null=True, blank=True, verbose_name='perfil', on_delete=models.CASCADE)
class Meta:
verbose_name = "empleado"
verbose_name_plural = "empleados"
ordering = ['usuario']
def __str__(self):
return "%s %s" % (self.usuario.first_name, self.usuario.last_name)
class User(AbstractUser):
foto_perfil = models.ImageField(upload_to='usuarios/perfil', null=True, blank=True, verbose_name='foto de perfil')
numero_documento = models.CharField(null=True, blank=False, verbose_name='numero de documento', max_length=40)
celular = models.CharField(null=False, blank=False, verbose_name='celular', max_length=40)
codigo_verificacion = models.CharField(null=True, blank=True, verbose_name='codigo de verificación', max_length=4)
fecha_solicitud_codigo_verificacion = models.DateTimeField(null=True, blank=True,
verbose_name='ultima fecha en que solicito el codigo')
class Meta:
unique_together = ('email',)
verbose_name = "usuario"
verbose_name_plural = "usuarios"
When I create a user and want to assign a group I use the following:
I don't know if it's what you need. Cheers