繁体   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