Django - отношения "один ко многим
У меня есть ролевые модели пользователя и пользователя. Есть 3 роли пользователя: учитель, ученик, администратор. Один пользователь должен иметь только одну роль, но если я создаю отношения один-к-одному, то только один пользователь может быть привязан к одной роли. Я хочу, чтобы было много учеников, много учителей, много администраторов, но один пользователь должен иметь только одну роль. Я не смог понять, как создать такие отношения.
У меня есть 2 модели User и User_Role.
class role(models.Model):
role_name = models.CharField(max_length=64)
class user(models.Model):
name = models.CharField(max_length=64)
Вы должны определить ForeignKey
от модели User
к модели Role
, так:
class Role(models.Model):
role_name = models.CharField(max_length=64)
class User(models.Model):
name = models.CharField(max_length=64)
role = models.ForeignKey(Role, on_delete=models.PROTECT)
Примечание: Модели в Django пишутся в PascalCase, а не snake_case, поэтому вы можете переименовать модель из
вuser
User
.