【问题标题】:Django db migration stops working with "Meta" classDjango db 迁移停止使用“Meta”类
【发布时间】:2016-05-02 13:32:12
【问题描述】:

我正在尝试创建一个 Django 应用程序,我的 models.py 文件中有一个这样的类:

class Identity(models.Model):
    display_name = models.CharField(db_column = "DisplayName", max_length = 200)

当我运行python manage.py makemigrations myApp 时,一切都按预期工作,并为该类创建了一个迁移文件。

如果模型中的类也定义了Meta 类,就会出现问题:

class Identity(models.Model):
    display_name = models.CharField(db_column = "DisplayName", max_length = 200)
    class Meta:
        app_label = "something"

现在,如果我运行 makemigrations 命令,我会收到“未检测到更改”消息,并且不会生成迁移文件:

> python manage.py makemigrations myApp
No changes detected in app 'myApp'

请注意,这只是一个示例,如果我第一次在定义了 Meta 类的类上运行该命令,或者如果我删除之前生成的迁移文件,也会出现问题。

我在 Windows 上使用 Python 2.7.5 和 Django 1.9.5。

【问题讨论】:

    标签: python django orm


    【解决方案1】:

    您在 Meta 类中没有这个是吗?

    managed = False
    

    【讨论】:

    • 不,即使只是像我制作的示例中那样使用“app_label”,我也会遇到这个问题......
    猜你喜欢
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    • 2011-04-21
    • 2012-09-08
    • 1970-01-01
    • 1970-01-01
    • 2016-05-14
    • 2015-05-22
    相关资源
    最近更新 更多