我正在建立一个带有数字下载的ecomerse网站,我需要在产品模型中添加一个字段我知道夹层允许注入aditional字段但是当我运行schemamigration时它会添加第一个字段然后挂起并且选择添加其他字段是否有人有任何想法,为什么这可能发生在这里是我的额外模型部分。
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
。
任何帮助将不胜感激。
答案 0 :(得分:0)
这个问题的答案是在属性中添加一个默认值,它不能用于无类型,但是如果你传递一个空字符串,它就能正常工作。
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", },
),
)