我的第二个不太熟练的问题是:我有一个包含4个已安装应用程序的django项目。当我运行manage.py syndb时,它只为它们中的两个创建表。据我所知,我的任何模型文件都没有问题,所有应用程序都在我的设置文件中的INSTALLED_APPS中指定。 Manage.py syndb似乎忽略了我的两个应用程序。manage.py syncdb不会为某些模型添加表
这两个“被忽略”应用程序的独特之处在于模型文件从另外两个应用程序导入模型并将它们用作外键(不知道这是好还是坏的做法,但可以帮助我保持有组织)。我认为这不是问题,因为我评论说外键模型和表格还没有创建。我很难过。
更新:当我注释掉从其他应用程序导入模型文件的行时,syndb创建我的表。也许我并不了解有关独立应用中的模型文件如何与其他应用程序相关的内容。我虽然可以通过简单地导入将其他应用中的模型用作外键。不对?
如果您针对相关应用程序运行manage.py sqlall [appname],是否会得到任何输出? – 2009-09-16 21:20:54
好问题 - 不,我没有得到任何输出。但是,如果我更改应用程序文件夹的名称并运行syncd,则会收到错误消息,指出无法找到已更改的应用程序。 – twneale 2009-09-16 21:22:17