Django 1.7 迁移找不到应用
Django 1.7 migration cannot find app
我正在为应用 Notification
创建数据迁移,在这里我使用来自应用 accounts
的模型 Manager
的引用
Manager = apps.get_model("accounts", "Manager")
它抛出错误:
self.code(from_state.render(), schema_editor)
File "/home/notifications/migrations/0004_auto_20150720_0127.py", line 12, in set_notification_setttings
Manager = apps.get_model("accounts", "Manager")
File "/home/local/lib/python2.7/site-packages/django/apps/registry.py", line 202, in get_model
return self.get_app_config(app_label).get_model(model_name.lower())
File "/home/local/lib/python2.7/site-packages/django/apps/registry.py", line 150, in get_app_config
raise LookupError("No installed app with label '%s'." % app_label)
LookupError: No installed app with label 'accounts'
尽管从 shell 我尝试了类似的东西并且它起作用了
>> from django.apps import apps
>> apps.get_app_config('accounts').get_model('Manager'.lower())
>> accounts.models.Manager
知道迁移时为什么会失败吗?
您的问题可能已经解决,但其他人可能会遇到这个问题。
如果 Manager 模型不在您创建迁移的同一个应用中,您需要在迁移中添加应用 accounts
的依赖项。示例:
class Migration(migrations.Migration):
dependencies = [
('Current_App_Name', 'XYZ_Last_Migration_of_App'),
('accounts', '0012_auto_XYZ'),
...,
]`
...
我正在为应用 Notification
创建数据迁移,在这里我使用来自应用 accounts
Manager
的引用
Manager = apps.get_model("accounts", "Manager")
它抛出错误:
self.code(from_state.render(), schema_editor)
File "/home/notifications/migrations/0004_auto_20150720_0127.py", line 12, in set_notification_setttings
Manager = apps.get_model("accounts", "Manager")
File "/home/local/lib/python2.7/site-packages/django/apps/registry.py", line 202, in get_model
return self.get_app_config(app_label).get_model(model_name.lower())
File "/home/local/lib/python2.7/site-packages/django/apps/registry.py", line 150, in get_app_config
raise LookupError("No installed app with label '%s'." % app_label)
LookupError: No installed app with label 'accounts'
尽管从 shell 我尝试了类似的东西并且它起作用了
>> from django.apps import apps
>> apps.get_app_config('accounts').get_model('Manager'.lower())
>> accounts.models.Manager
知道迁移时为什么会失败吗?
您的问题可能已经解决,但其他人可能会遇到这个问题。
如果 Manager 模型不在您创建迁移的同一个应用中,您需要在迁移中添加应用 accounts
的依赖项。示例:
class Migration(migrations.Migration):
dependencies = [
('Current_App_Name', 'XYZ_Last_Migration_of_App'),
('accounts', '0012_auto_XYZ'),
...,
]`
...