syncdb不会创建表模型

时间:2014-04-29 12:29:11

标签: python django

我正在使用Django框架开发Web应用程序。我有这个结构:

  • 项目

    • web_app
      • 模型
        • models.py
    • rwtool
      • settings.py
      • urls.py
      • views.py

我在models.py文件中定义了我的模型。在我的设置文件中,我在project.web_app中添加了这一行INSTALLED_APPS。当我做的时候

python mange.py syncdb

未创建模型。要创建它们,我必须将project.web_app.models添加到我的设置文件中。我已经看过别人的项目了,他们不喜欢这样,而且很有效。我正在做的是否正确?

2 个答案:

答案 0 :(得分:4)

models.py 应位于您的应用文件夹下(在您的情况下" web_app ")。

如果你想分离你的模型,那么你必须将模型文件夹转换为python包,在这种情况下在该文件夹中添加__init__.py并确保在init文件中你的模型可以被外部访问路径上的世界" web_app.models.ModelName "。

所以,解决方案1(标准Django方法):

  • 项目
    • web_app
    • models.py

解决方案2:

  • 项目
    • web_app
    • 模型
      • __init__.py
      • ModelOne.py
      • ModelTwo.py ...

__init__.py将包含以下内容:

from .ModelOne import ModelOne
from .ModelTwo import ModelTwo

方法N2也可以用于视图和其他东西;)

答案 1 :(得分:0)

首先将您的应用添加到INSTALLED_APPS,然后运行

python manage.py inspectdb > somefile.txt

如果您的数据库结构与您的django模型匹配,您可以快速查看。

如果python manage.py inspectdb > somefile.txt未创建任何结构,请确保将您的应用添加到INSTALLED_APPS