从 django.contrib.auth.models 导入用户 vs 定义用户外键作为所有者 = 模型。ForeignKey('auth.用户')



如何从Django自带的auth包中导入User,我需要这样做:

from django.contrib.auth.models import User

而引用相同的User模型来创建ForeignKey,我需要做:

owner = models.ForeignKey('auth.User', related_name='snippets')

而非'auth.models.User' ?

我在这里遵循的例子:http://www.django-rest-framework.org/tutorial/4-authentication-and-permissions

这是由于Django的"lazy relationships"。你可以在这里看到它的代码。你不需要指定确切的模块,在这个例子中是models,因为任何从Django的models.Model继承的东西在初始化后都会发出class_prepared信号,到目前为止,它仍然只是一个字符串。

只提供应用和模型,如果在同一个应用中,只提供模型名。

最新更新