2014-06-19 16 views
2

如何從Django附帶的auth包中導入用戶,我需要做的是:from django.contrib.auth.models import用戶vs定義用戶ForeignKey作爲owner = models.ForeignKey('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

回答

2

這是由於Django的「懶關係」。你可以看到這個here的代碼。你不需要指定確切的模塊,在這種情況下,models,因爲從Django的models.Model繼承的任何東西將啓動一個class_prepared信號,一旦它初始化,並且直到這一點,它仍然只是一個字符串。

只需提供應用程序和模型,或只是在同一應用程序中的模型名稱。