簡體   English   中英

在Django 1.7遷移中獲取名稱分隔的模型

[英]Getting name spaced models inside Django 1.7 migrations

我將django-allauth用作新項目的一部分,並且嘗試進行遷移,在該遷移中我為社交應用設置了初始身份驗證密鑰。

為此,我需要訪問位於以下名稱空間下的模型

'allauth.socialaccount',我在settings.py中也有

但是,當我嘗試執行以下操作時;

SocialApp = apps.get_model('allauth.socialaccount', 'socialapp')

我最終以Django告訴我該名稱的應用程序不存在。

我還嘗試了“ allauth”,“ socialaccount”和“ socialapp”的每種組合

在這一點上,我幾乎陷入了困境。

對於命名空間模型,您需要將虛線路徑的最后一部分用作app_label 對於allauth.socialaccount ,這是socialaccount

>>> apps.get_model('socialaccount', 'SocialApp')
allauth.socialaccount.models.SocialApp

另外,不要忘了將來自socialaccount應用程序的遷移引用為依賴項,否則它將不可用:

dependencies = [
    # ('some_app', 'XXXX_some_pre-requisite_migration'),
    ('socialaccount', '0001_initial'),
]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM