这驱使我疯了......我用以下结构重组现有的Django项目挣扎:Django的执行syncdb
[project_abc]
[app]
[core]
[app1]
admin.py
models.py
...
[app2]
admin.py
models.py
...
... etc ... there's a total of 9 apps
[rest]
... rest api stuff, non-db related ...
[mobile]
... mobile stuff, non-db related ...
[
south
tastypie
[project_abc]
settings.py
urls.py
manage.py
与需要访问数据库已被添加到settings.py
型号所有的应用程序:
INSTALLED_APPS = (
'django.contrib.admin',
'[app].[core].[app1]',
'[app].[core].[app2]',
...
'tastypie',
'south'
)
每个模型类都有一个元类,如:
class Meta:
app_label=[app] # this points to the top level above [core]
迪[app]
,[core]
和后续[app]
目录中有一个__init__.py
文件。
当我运行syncdb
,它简单地忽略了[core]
下我的应用程序但是,对于其他应用程序,如tastypie
和south
表得到正确创建。
当我运行manage.py validate
返回0发现错误
我可能已经阅读有关syncdb
但不幸的是无济于事的主题的所有帖子和提示。我显然失去了一些东西,但无法弄清楚它是什么....
我相信每个安装的应用程序都需要唯一的应用程序标签。你是否尝试过让它们成为'app1','app2'等,而不是'app'? – jproffitt
刚刚尝试过,但不幸的是它没有区别...感谢您的建议。 – Roger
在Meta中使用'[app]'是不是很清楚?它是否添加到已安装的应用程序它是否conatin'model.py'文件,可能是空的?你可以尝试添加空的'model.py'到核心文件夹,使其成为django应用程序,并将其添加到已安装的应用程序? – alko