如何解决syncdb忽略导入的模型
| 我有一个项目,结构如下:project/
__init__.py
db/
models/
__init__.py
article.py
project.py
ontology/
__init__.py
coded.py
它更大一点,但这就是想法。 models.__init__.py
包含:
from db.models.article import *
from db.models.project import *
from db.models.ontology.coded import *
运行syncdb时,它将忽略所有在models.__init__.py
中导入的模型。没有ѭ4,在向ѭ5中添加打印语句时,它会愉快地打印导入模型(运行syncdb时)。
__init__.py
中定义的模型可以工作。
这是为什么?我可以强制syncdb解释我导入的模型吗?
编辑:该应用程序位于INSTALLED_APPS中:
INSTALLED_APPS = (
\'django.contrib.auth\',\'django.contrib.contenttypes\',\'django.contrib.sessions\',\'django.contrib.sites\',\'amcatnavigator.navigator\',\'amcatnavigator.db\',)
谢谢!
解决方法
根据South(syncdb)文档:http://south.aeracode.org/docs/tutorial/part1.html它将仅为settings.py文件中INSTALLED_APPS部分中的那些模型创建表。如果使用的是模型,但模型已更改,并且您不想丢失任何数据,请使用迁移:http://south.aeracode.org/docs/tutorial/part1.html#the-first-migration
更新:据我所知,Django在设计上不会在不同目录中找到模型:http://code.djangoproject.com/ticket/14007,您可能想使用app_label
更新:app_label文档:http://docs.djangoproject.com/en/dev/ref/models/options/#app-label
,您需要在模型的Meta内部类中添加“ 8”。
,您的settings9ѭ模块似乎未包含在您的设置的
INSTALLED_APPS
列表中。对于其他变体,此信息还不够。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。