首页 文章

django.db.utils.IntegrityError:NOT NULL约束失败:products_product.image错误与图像字段

提问于
浏览
1

我想将imagefield添加到我的 models.py 并上传到我的media_cdn目录但是当我迁移到base我的model.py时他给出了这个错误

django.db.utils.IntegrityError: NOT NULL constraint failed: products_product.image ERROR WITH IMAGE FIELD

cmd的输出

operation.database_forwards(self.app_label,schema_editor,old_state,project_state)
文件“C:\ Users \ PANDEMIC \ Desktop \ td10 \ lib \ site-packages \ django \ db \ migrations \ operations \ fields.py”,第84行,在database_forwards字段中,文件“C:\ Users \ PANDEMIC \ Desktop \ td10 \ lib \ site-packages \ django \ db \ backends \ sqlite3 \ schema.py“,第231行,在add_field中自我._remake_table(model,create_fields = [field])文件”C:\ Users \ PANDEMIC \ Desktop \ td10 \ lib \ site-packages \ django \ db \ backends \ sqlite3 \ schema.py“,第199行,在_remake_table self.quote_name(model._meta.db_table)中,文件”C:\ Users \ PANDEMIC \ Desktop \ td10 \ lib \ site-packages \ django \ db \ backends \ base \ schema.py“,第112行,执行cursor.execute(sql,params)文件”C:\ Users \ PANDEMIC \ Desktop \ td10 \ lib \ site-packages \ django \ db \ backends \ utils.py“,第79行,在执行返回超级(CursorDebugWrapper,self).execute(sql,params)文件”C:\ Users \ PANDEMIC \ Desktop \ td10 \ lib \ site-packages \ django \ db \ backends \ utils.py“,第64行,在执行中返回self.cursor.execute(sql,params)文件”C:\ Users \ PANDEMIC \ Desktop \ td10 \ lib \ site-packages \ django \ db \ utils .py“,第94行,in退出six.reraise(dj_exc_type,dj_exc_value,traceback)文件“C:\ Users \ PANDEMIC \ Desktop \ td10 \ lib \ site-packages \ django \ utils \ six.py”,第685行,重新提升value.with_traceback(tb )文件“C:\ Users \ PANDEMIC \ Desktop \ td10 \ lib \ site-packages \ django \ db \ backends \ utils.py”,第64行,执行返回self.cursor.execute(sql,params)文件“C :\ Users \ PANDEMIC \ Desktop \ td10 \ lib \ site-packages \ django \ db \ backends \ sqlite3 \ base.py“,第337行,执行返回Database.Cursor.execute(self,query,params)django.db .utils.IntegrityError:NOT NULL约束失败:products_product.image

from django.db import models

# Create your models here.

class Product(models.Model):
    name = models.CharField(max_length=40)
    description = models.TextField(max_length=220, blank=True, default=None)
    image = models.ImageField(upload_to="/products_images/", null=True, blank=True, width_field="width_field", height_field="height_field")
    width_field = models.IntegerField(default=0)
    height_field = models.IntegerField(default=0)
    is_active = models.BooleanField(default=True)
    publish = models.DateField(auto_now=False, auto_now_add=True)
    timestamp = models.DateTimeField(auto_now=False, auto_now_add=True)

    def __str__(self):
        return "%s" % self.id

    class Meta:
        ordering = ["-timestamp"]
        verbose_name = 'Product'
        verbose_name_plural = 'Products'

4 回答

  • -1

    你跑了 makemigrations appname 吗?

    NOT NULL约束失败

    此错误通常意味着未提供所需的字段,但我可以看到您在图像字段中设置了 blank=True and null=True 属性 .

  • 1

    我们也遇到了类似的问题,我在本地检查了删除 blank=true,null=true 的工作,但在 生产环境 服务器中它运行不正常 .

    比应用程序里面的文件引发的文件,他们的迁移文件夹,我已经删除了所有文件然后

    python manage.py makemigrations
    

    python manage.py migration
    

    工作和运行服务器都运行良好 .

  • 0

    需要删除您的基地并迁移您的应用程序

  • 2

    基本上,如果您在模型类中进行了更改,则需要删除之前创建的所有对象,因为它们具有旧属性 .

相关问题