Я новичок в Django и Django Отдых здесь.
Я создал 3 модели (см. Ниже).
Я могу создать несколько простых и базовых c сериализаторов для каждой из этих моделей, но я хотел бы создать более сложный сериализатор для CustomUser
моделей, чем возвращает для каждого пользователя его роли.
Я читал раздел «Связи с сериализатором» в до c. До сих пор не очень ясно, как этого добиться.
В примерах они используют отношения 2 моделей, но если я не ошибаюсь, у меня 3, что усложняет понимание вещей.
Может кто-нибудь дать мне несколько советов, как это сделать?
class CustomUser(AbstractUser):
email = models.EmailField(unique=True)
username = models.CharField(max_length=100)
USERNAME_FIELD = 'email'
class Meta:
db_table = "MyUsers"
def __str__(self):
return self.email
class Roles(models.Model):
id = models.AutoField(primary_key=True)
label = models.CharField(max_length=100,related_name="roles_label")
class Meta:
db_table = "roles"
def __str__(self):
return self.label
class RolesUsers(models.Model):
id_user = models.ForeignKey(CustomUser,related_name="id_user", on_delete=models.CASCADE)
id_role = models.ForeignKey(Roles, related_name="id_role", on_delete=models.CASCADE)
class Meta:
db_table = "roles_users"
unique_together = (("id_user", "id_role"),)
def __str__(self):
return '{}: {}'.format(self.id_role, self.id_user)