Django - 一对多关系
Django - One to Many relationship
我有用户和用户榜样。有 3 个用户角色,教师、学生、管理员。一个用户应该只有一个角色,但如果我建立一对一关系,则只有一个用户可以附加到一个角色。我希望可以有很多学生、很多老师、很多管理员,但一个用户必须只有一个角色。我不知道如何设计这种关系。
我有 2 个模型作为用户和 User_Role。
class role(models.Model):
role_name = models.CharField(max_length=64)
class user(models.Model):
name = models.CharField(max_length=64)
您应该定义一个从 User
模型到 Role
的 ForeignKey
,因此:
class Role(models.Model):
role_name = models.CharField(max_length=64)
class User(models.Model):
name = models.CharField(max_length=64)
role = models.<strong>ForeignKey(Role</strong>, on_delete=models.PROTECT<strong>)</strong>
Note: Models in Django are written in PascalCase, not snake_case,
so you might want to rename the model from user
to User
.
我有用户和用户榜样。有 3 个用户角色,教师、学生、管理员。一个用户应该只有一个角色,但如果我建立一对一关系,则只有一个用户可以附加到一个角色。我希望可以有很多学生、很多老师、很多管理员,但一个用户必须只有一个角色。我不知道如何设计这种关系。
我有 2 个模型作为用户和 User_Role。
class role(models.Model):
role_name = models.CharField(max_length=64)
class user(models.Model):
name = models.CharField(max_length=64)
您应该定义一个从 User
模型到 Role
的 ForeignKey
,因此:
class Role(models.Model):
role_name = models.CharField(max_length=64)
class User(models.Model):
name = models.CharField(max_length=64)
role = models.<strong>ForeignKey(Role</strong>, on_delete=models.PROTECT<strong>)</strong>
Note: Models in Django are written in PascalCase, not snake_case, so you might want to rename the model from
touser
User
.