ここに完全なエラーがあります:
デフォルトなしでnull不可能なフィールド「summary」を製品に追加しようとしています。それはできません(データベースには既存の行にデータを入力するための何かが必要です)。修正を選択してください:1)今すぐ1回限りのデフォルトを提供します(既存のすべての行に設定されます)2)終了し、models.pyにデフォルトを追加させてください
私の最初の質問は、同じフィールドであっても、すべてのフィールドでエラーが発生しないのはなぜですか?
2番目の質問これを入力せずにこれを修正するにはどうすればよいですか:TextField(default = "any string")?
3番目の質問、私はmysqlを使用しています。別のデータベースを使用している場合、同じエラーが発生しますか?
models.py
from django.db import models
class Product(models.Model):
title=models.TextField()
description=models.TextField()
price=models.TextField()
summary=models.TextField()
admin.py
from django.contrib import admin
from .models import Product
admin.site.register(Product)
コマンド
python manage.py makemigrations
私の管理ページには「製品」タブがあります。管理ウィンドウで製品を作成すると、2つのフィールドしかありません。説明と価格。
エラーから、データベースに既存の行があると思います。既存のテーブルに新しい列を追加したいが、列がnull許容であると言わなかった場合
summary=models.TextField(null=True)
したがって、移行中にデフォルト値を設定するか、モデルでデフォルト値を定義する必要があります。Option 1
期間中makemigrations
を選択し、'Something' or None
デフォルトとして設定できます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加