1. ホーム
  2. python

[解決済み] django.db.utils.IntegrityError: NOT NULL 制約は失敗しました: products_product.image ERROR WITH IMAGE FIELD

2022-02-07 16:21:04

質問

にイメージフィールドを追加したいのですが。 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:³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³.py" 行 84, in database_forwards フィールドを使用します。 File "C:\UsersPANDEMIC﹑Desktop﹑10﹑libsite-PackagesⒸDjangoⒸSqlite3schema.py", line 231, in add_field self._remake_table(model, create_fields=[field]) ファイル "C:³ Files³ Electronics Tools³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³.py" ライン 199, in _remake_table self.quote_name(model._meta.db_table), File "C:\UsersPANDEMIC¥Desktop¥Td10¥libsite-packages¥Django¥Debugbackends¥Baseschema.py" line 112, in execute カーソル.execute(sql, params) File "C:\UsersPANDEMIC¥Desktop¥Td10¥libsite-packages¥Django¥Backends¥utils.py", line 79, in execute return super(CursorDebugWrapper, self).execute(sql, params) File "C:\UsersPANDEMIC⇄Desktop⇄Libsite-Packages⇄Django⇄backends⇄utils.py", line 64, in execute return self.cursor.execute(sql, params) File "C:\UsersPANDEMIC↩Desktop﹑10﹑libsite-packages﹑django﹑utils.py", line 94, in 出口 6.reraise(dj_exc_type, dj_exc_value, traceback) ファイル "C:³ Files³ Electronics Tools.py", line 685, in reraise raise 値.with_traceback(tb) File "C:\UsersPANDEMIC¥Desktop¥Td10¥libsite-packages¥Django¥DbGackends¥utils.py" line 64, in execute return self.cursor.execute(sql, params) File "C:\UsersPANDEMIC¥Desktop¥Td10¥libsite-packages¥Django¥Backends¥sqlite3base.py", line 337, in execute return 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'

解決方法は?

ベースを削除して、アプリをマイグレーションする必要があります。