【问题标题】:Django application does not create tablesDjango 应用程序不创建表
【发布时间】:2011-12-27 08:55:21
【问题描述】:

所以,我在这里创建了一个 django 应用程序:http://fpaste.org/bkFf/,而不使用 django-admin。

我希望我在 models.py (http://fpaste.org/i1Vd/) 中创建的模型能够按照 settings.py (http://fpaste.org) 中的指定自动在数据库中创建表/GBz0/)。

我运行命令 django-admin syncdb --settings=settings.py,它给了我以下信息:http://fpaste.org/tgvK/ - 但没有创建表(因为它应该说创建表后创建表 X....)

因为我没有使用 django-admin.py 创建它,所以我没有“项目” - 所以我没有应用程序可以添加到 settings.py 的 INSTALLED_APPS 变量中。

最后,我的问题是——如何让我的模型初始化数据库中的表,而不需要使用 django-admin(除了使用 syncdb 标志)。

提前致谢

【问题讨论】:

    标签: python django wsgi


    【解决方案1】:

    我没有“项目” - 所以我没有要添加到 INSTALLED_APPS 的应用程序

    这根本没有意义。项目与 INSTALLED_APPS 无关。你有一个settings.py,你有一个models.py。将包含models.py的模块名称放入INSTALLED_APPS,就可以了。

    【讨论】:

    • 我的想法是创建一个项目(通过 django-admin startproject myproject)并在项目中创建一个应用程序。这个包含 manage.py 等的“应用程序”是需要添加到 INSTALLED_APPS 中的。
    • project 包含 manage.py、settings.py 等。app 没有。 app 是 models.py、views.py、admin.py 等的去处。简单来说,项目有很多应用,但应用只有一个项目。
    • 在将我的项目改写为以下布局后:fpaste.org/XPik 并将 FirstService 添加到我的 INSTALLED_APPS 变量中,我再次运行了 syncdb,但仍然没有运气。 FirstService 现在是包含 models.py 的模块(或应用程序),不是吗?
    猜你喜欢
    • 1970-01-01
    • 2015-11-11
    • 2017-09-28
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 2020-12-06
    • 2014-06-25
    • 2013-07-08
    相关资源
    最近更新 更多