【问题标题】:Newbie Django Model Error新手 Django 模型错误
【发布时间】:2016-03-28 03:48:10
【问题描述】:

使用 Python 2.7.x + Django 1.9:

我用django-admin startproject simple创建了一个新的超级简单的Django骨架项目

作为完整性检查,我创建了一个带有简单视图的views.py 文件,该文件输出“hello world”类型的测试消息和指向该视图的 url 路由。我可以用python manage.py runserver 运行它,它运行良好。

我用一个超级简单的 Django ORM 模型类创建了一个 models.py 文件。仅供参考,我的目标是使用现有的表和架构,所以我不希望 ORM 生成新表。

class SuperSimpleModel(models.Model):
    some_value = models.CharField(blank=True, null=True)

    class Meta:
        managed = False
        db_table = 'model_test_table'

仅将import models 添加到我的views.py 代码会导致在使用python manage.py runserver 启动服务器时发生以下错误:

"RuntimeError: 模型类 simple.models.SuperSimpleModel 没有明确声明 app_label 也没有 在 INSTALLED_APPS 中的应用程序中,否则在其之前导入 应用程序已加载。”

我认为我的应用程序没有正确初始化?我将这个问题归结为上述简单的一组可重现的步骤。在上述步骤中,我没有更改 settings.py 中的任何内容。通常情况下,我需要配置数据库,但即使不这样做,我也可以重现错误。

【问题讨论】:

  • 尝试在配置文件的INSTALLED_APPS中添加'SuperSimpleModel'

标签: python django django-models django-views


【解决方案1】:

您是正确的,您需要在此处修改设置。例如,请参阅this Django tutorial step

从您在此处提供的内容来看,您似乎必须将'simple' 添加到您的INSTALLED_APPS 设置中。所以这个设置最终看起来像这样:

INSTALLED_APPS = [
    'simple',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

请注意,考虑到您的 PYTHONPATH 的设置方式,'simple' 本身可能并不合适。您可能需要向应用程序添加更具体的路径,就像上面的教程步骤对 'polls.apps.PollsConfig' 所做的那样。

【讨论】:

  • 就是这样。这完全在教程中。谢谢!
【解决方案2】:

我遇到了类似的问题,结果发现我的解释器有错误的 Python 路径设置。如果上一个答案没有帮助,请检查一下。它应该包含你的 manage.py 所在目录的路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-10
    • 2016-02-01
    • 1970-01-01
    • 2016-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    相关资源
    最近更新 更多