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.

Вернуться на верх