2013-10-31 20 views
2

myApp/models/profiles.py,而不是myApp/models.py(將相關車型)有車型目錄和AUTH_USER_MODEL

如何設置AUTH_USER_MODEL在這種情況下?

因爲auth只接受「foo.bar」模式。

app_label, model_name = settings.AUTH_USER_MODEL.split('.') 
+1

嘗試添加'從配置文件import *'到'myApp/models/__init __ .py',然後使用'AUTH_USER_MODEL ='myApp.MyModel'' – DanielB

+0

我得到不同的錯誤「錯誤配置:AUTH_USER_MODEL指的是模型'common.CusomUser'即沒有安裝「 – eugene

+1

哦拍我.. CUS TOM用戶.. – eugene

回答

1

Django預計任何給定應用的模型都將在app.models之內。如果你想使用這種文件結構,你仍然需要確保這種情況。最簡單的方法是在myApp/models/__init__.py中添加from profiles import *,然後正常使用AUTH_USER_MODEL

例如,你有myApp/models/profiles.pymyApp/models/actions.pymyApp/models/__init__.py應該讀

from profiles import * 
from actions import * 

記住,以確保你沒有任何名稱衝突太多,你可能希望使用在每個設置你的__all__值你的子包。

+0

哦。很高興知道__all__是明確列出要從包中導出的名稱。謝謝 – eugene

0

您可以直接傳遞類或'app.model'。 django只註冊app.models模塊中定義的類,因此您需要導入modelsinit中的類。由於您無論如何都會在init中導入模型,因此您無需指定外鍵中類的完整路徑。