Django,如何使用外键(auth_user)?

Django,如何使用外键(auth_user)?,django,Django,我是django的新手。我想为auth\u user表创建一个外键 我尝试这样做: user=models.ForeignKey(auth\u user) 它会导致错误: NameError:未定义名称“auth_user” 那么,有人能告诉我如何导入auth_user吗?大概你说的是django.contrib.auth.models.user,然后呢 from django.contrib.auth.models import User class MyModel(models.

我是django的新手。我想为
auth\u user
表创建一个外键

我尝试这样做:

user=models.ForeignKey(auth\u user)
它会导致错误:

NameError:未定义名称“auth_user”

那么,有人能告诉我如何导入
auth_user

吗?大概你说的是django.contrib.auth.models.user,然后呢

from  django.contrib.auth.models import User

class MyModel(models.model):

    user = models.ForeignKey(User)

如果您谈论的是来自其他地方的自定义用户模型,请将该导入替换为该类的相关导入。

由于外键接受字符串,您可以在外键中使用
AUTH\u User\u model
设置

from django.conf import settings

class MyModel(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL)

无论您使用的是内置的
用户
模型还是自定义模型,此功能都有效。

您应该始终使用@Alasdair提到的settings.AUTH\u User\u模型。它使您的代码保持可扩展性,迁移得到正确处理。