作者:sweet梓潼_470 | 来源:互联网 | 2023-02-09 12:30
如何解决《django.db.utils.IntegrityError:NOTNULL约束失败:products_product.image图像字段错误》经验,为你挑选了2个好方法。
我想向我添加imagefield models.py
并上传到我的media_cdn目录中,但是当我迁移到基于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 self._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行,在执行中返回super(CursorDebugWrapper,self).execute(sql,参数”文件“ 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行,在退出
six.reraise(dj_exc_type,dj_exc_value,traceback)文件“ C:\ Users \ PANDEMIC \ Desktop \ td10 \ lib \ site-packages \ django \ utils \ six.py”,行685,以提高价值。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”,执行返回行中的行3.3。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'
小智..
7
转到migrations文件夹,然后手动删除名称类型为000 * _lastAction_blah-blah的文件,您可以删除所有文件,但可以删除0001_initial.py。在运行./manage.py进行迁移app_you_are_updateing之后,它应该更新您的数据库。
1> 小智..:
转到migrations文件夹,然后手动删除名称类型为000 * _lastAction_blah-blah的文件,您可以删除所有文件,但可以删除0001_initial.py。在运行./manage.py进行迁移app_you_are_updateing之后,它应该更新您的数据库。
2> Kronvid Vlad..:
只需删除您的基础并进行迁移即可