Django:如何在模型中将用户添加为外键

时间:2019-05-15 09:26:10

标签: django django-models django-forms django-views

我是Django的新手。我想在管理器模型中将用户添加为外键,但我不知道该怎么做。

这是我的经理模式

class manager(models.Model):
name = models.CharField(max_length= 500)
designation = models.CharField(max_length= 500)

我必须在管理器中将用户添加为外键。

2 个答案:

答案 0 :(得分:2)

from django.contrib.auth.models import User

class manager(models.Model):
    name = models.CharField(max_length= 500)
    designation = models.CharField(max_length= 500)
    user = models.ForeignKey(User,on_delete=models.CASCADE)

如果您不使用任何自定义用户模型,则可以这样做

答案 1 :(得分:1)

您可以尝试

user = models.ForeignKey(
        User,
        related_name='managers',
        on_delete=models.CASCADE,
)

这将是强制性的用户实例,但是如果您希望将其设置为可选

user = models.ForeignKey(
        User,
        blank=True, # allow Blank
        null=True,  # allow Null
        on_delete=models.SET_NULL, # prevent ForiegnKey Contraint error
)

希望这会有所帮助