【问题标题】:Django IntegrityError NOT NULL constraint failed not use null and blankDjango IntegrityError NOT NULL 约束失败,不使用 null 和空白
【发布时间】:2021-06-30 15:39:21
【问题描述】:

/blablabla 处的完整性错误

NOT NULL 约束失败:product_product.category_id

建议使用 Null=True、blank=True 作为此错误的解决方案。

但我不希望它为空和空白。如何在不添加空白和空值的情况下解决它? 我之前手动定义了产品列表。

views.py:

Product.objects.create(code=product[1], 
   variant=product[2], header=str(product[3]) +" "+ str(product[2]),
   category_id=product[4], description=product[5],
  is_opportunity=product[6],is_outlet=product[7],discount=product[8],     price=product[12], image=str(product[1]) + "-" + str(product[2]) +".jpg")

models.py:

 class Product(models.Model):
    code = models.CharField(max_length=50,blank=True, null=True)
    variant = models.CharField(max_length=50)
    header = models.CharField(max_length=200)
    category = models.ForeignKey('Category', null=False, default=1, on_delete=models.CASCADE)
    image = models.ImageField(blank=True)
    description = models.TextField(null=True, blank=True)
    is_opportunity = models.BooleanField(null=True)
    is_outlet = models.BooleanField(null=True)
    slug = models.SlugField(unique=True, editable=False, max_length=150)
    discount = models.FloatField(null=True, blank=True)
    price = models.FloatField(null=True)

【问题讨论】:

  • 提供一个不同于None/NULL的值。
  • 那么你不应该离开这个字段null
  • 我不会把它留空,但它会给出这个错误:) 我使用了 objects.create() func。
  • 好的,所以显示您的代码,可能是导致此错误的另一个字段,但如果没有任何 sn-p 代码,您将无法帮助我们
  • 你是对的。对不起。请稍等。

标签: django django-views


【解决方案1】:

两种方法:

  1. 在保存时提供一个值,可以是从日期到用户名的任何值

  2. 为您的字段设置默认值,例如:

    models.Charfield(default="Something")

【讨论】:

  • 我所有的变量都有默认值
  • 错误代码很清楚,您忘记为 modal_modal.examples 设置值,所以不,您没有所有内容的默认值,那么您又没有显示任何代码...
猜你喜欢
  • 2020-12-19
  • 2016-04-02
  • 1970-01-01
  • 2023-03-20
  • 2023-03-29
  • 2020-06-28
  • 2019-02-14
  • 1970-01-01
  • 2022-08-10
相关资源
最近更新 更多