簡體   English   中英

django.db.utils.IntegrityError: (1048, “列 'category_type' 不能為空”)

[英]django.db.utils.IntegrityError: (1048, “Column 'category_type' cannot be null”)

商品.py

class Goods(models.Model):
    category = models.ForeignKey(GoodsCategory, verbose_name='xxx')
    goods_sn = models.CharField(default='', max_length=50, verbose_name='xxx')
    name = models.CharField(max_length=300, verbose_name='xxx')
    click_num = models.IntegerField(default=0, verbose_name='xxx')
    sold_num = models.IntegerField(default=0, verbose_name='xxx')

商品類別.py

class GoodsCategory(models.Model):
    CATEGORY_TYPE = (
        (1, "Level 1"),
        (2, "Level 2"),
        (3, "Level 3"),
    )
    name = models.CharField(default="", max_length=30, verbose_name="Category name", help_text="Category name")
    code = models.CharField(default="", max_length=30)
    desc = models.TextField(default="", verbose_name="describe")
    category_type = models.IntegerField(choices=CATEGORY_TYPE, verbose_name="Category Level", help_text="Category Leve")
    parent_category = models.ForeignKey("self", null=True, blank=True, related_name="sub_cat")
    is_tab = models.BooleanField(default=False)
    add_time = models.DateTimeField(default=datetime.now)

import_goods_data.py

for goods_detail in row_data:
    goods = Goods()
    goods.name = goods_detail["name"]
    goods.market_price = float(int(goods_detail["market_price"].replace("¥", "").replace("$", "")))
    goods.shop_price = float(int(goods_detail["sale_price"].replace("¥", "").replace("$", "")))
    goods.goods_brief = goods_detail["desc"] if goods_detail["desc"] is not None else ""
    goods.goods_desc = goods_detail["goods_desc"] if goods_detail["goods_desc"] is not None else ""
    goods.goods_front_image = goods_detail["images"][0] if goods_detail["images"] else ""
    category_name = goods_detail["categorys"][-1]
    categories = GoodsCategory.objects.filter(name=category_name) 
    if categories.exists():
        category = categories[0]
    else:
        category = GoodsCategory.objects.create(name=category_name)
    goods.category = category
    goods.save()

當我運行此腳本將本地數據導入 mysql 時,出現此錯誤:

django.db.utils.IntegrityError: (1048, "Column 'category_type' cannot be null")

我已經嘗試了很多次,仍然沒有解決這個問題。 你能幫我嗎?

創建新的GoodsCategory您需要顯式設置category_type 、設置default值或將模型中的字段設置為可空 ( null=True )。 模型字段參考 #default

如果你想在數據庫中保存空/空,你需要稍微改變你的模型。

category_type = models.IntegerField(choices=CATEGORY_TYPE, verbose_name="Category Level", help_text="Category Leve", null=True, default=None)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM