【问题标题】:mezzanine and cartridge schemamigration issues夹层和盒式架构迁移问题
【发布时间】:2014-09-22 14:07:36
【问题描述】:

我正在构建一个具有数字下载功能的 ecomerse 站点,我需要在产品模型中添加一个字段不添加其他字段有人知道为什么会发生这种情况吗?下面是我的额外模型部分。

EXTRA_MODEL_FIELDS = (
    (
        "cartridge.shop.models.Order.callback_uuid",
        "django.db.models.CharField",
        (),
        {"blank" : False, "max_length" : 36, "default": ""},
    ),
    (
        "cartridge.shop.models.Product.download_file",
        "django.db.models.FileField",
        (),
        { "blank" : True, "upload_to" : "downloads", },
    ),
)

所以要清楚我正在运行的命令是python manage.py schemamigration cartridge.shop --auto --stdout > content/migrations/0001_cartridge_shop_add_download_file.py

它说字段 callback_uuid 已添加,但它已经存在,所以它挂起并没有添加 download_file

任何帮助将不胜感激。

【问题讨论】:

    标签: python django django-south mezzanine cartridge


    【解决方案1】:

    这个问题的答案是为属性添加一个默认值,它不适用于 none 类型,但如果你传递一个空字符串,它就可以正常工作。

    EXTRA_MODEL_FIELDS = (
        (
            "cartridge.shop.models.Order.callback_uuid",
            "django.db.models.CharField",
            (),
            {"blank" : False, "max_length" : 36, "default": ""},
        ),
        (
            "cartridge.shop.models.Product.download_file",
            "django.db.models.FileField",
            (),
            { "blank" : True, "default" : "" , "upload_to" : "downloads", },
        ),
    )
    

    【讨论】:

      猜你喜欢
      • 2015-08-03
      • 1970-01-01
      • 2012-02-27
      • 2012-03-12
      • 2011-04-03
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      相关资源
      最近更新 更多