【问题标题】:Django model enum field creates new migrations every time makemigrations is run, even though unchanged每次运行 makemigrations 时,Django 模型枚举字段都会创建新的迁移,即使未更改
【发布时间】:2017-09-15 17:36:38
【问题描述】:

作为用户偏好模型的一部分:

    DAILY = "d"
    WEEKLY = "w"
    FORTNIGHTLY = "f"
    MONTHLY = "m"
    DISABLE = "x"
    EMAIL_FREQUENCY_CHOICES = {
        (DAILY, 'Daily'),
        (WEEKLY, 'Weekly'),
        (FORTNIGHTLY, 'Fortnightly'),
        (MONTHLY, 'Monthly'),
        (DISABLE, 'Disabled'),
    }
    email_frequency = models.CharField(
        max_length=1,
        choices=EMAIL_FREQUENCY_CHOICES,
        default=WEEKLY,
    )

每次我运行 makemigrations 时,都会为此模型创建一个新的迁移文件,控制台输出为:

- Alter field email_frequency on profile

查看迁移文件,似乎每次迁移都是枚举字典的不同排列。任何想法为什么会发生这种情况?

【问题讨论】:

    标签: python django enums


    【解决方案1】:

    EMAIL_FREQUENCY_CHOICES 被定义为一个集合。它应该是一个列表或元组。

    【讨论】:

    • 这似乎改变了任何东西。它仍然为我生成迁移
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-30
    • 1970-01-01
    • 2014-12-24
    • 2021-04-06
    • 2017-08-28
    • 1970-01-01
    • 2021-01-31
    相关资源
    最近更新 更多