Djangoのモデルフィールドの引数でpkを指定していたのを消してから詰まっています

この回答はGPT-4による自動生成回答です

問題は、NewsPostモデルにprimary_key=Trueを削除したことで、デフォルトのidフィールドが自動的に追加されなくなったためです。解決策として、NewsPostモデルに明示的にidフィールドを追加して、それをプライマリキーとして設定します。

以下のようにNewsPostモデルを修正してください。

python

1class NewsPost(models.Model):2 id = models.AutoField(primary_key=True)3 category = models.ForeignKey(Category, on_delete=models.PROTECT)4 title = models.TextField()5 link = models.URLField(default="")6 published_at = models.DateTimeField(blank=True, null=True)7 views = models.PositiveIntegerField(default=0)

修正後、以下の手順でマイグレーションを実行してください。

  1. 既存のマイグレーションファイルを削除します。
  2. python manage.py makemigrationsを実行して新しいマイグレーションファイルを作成します。
  3. python manage.py migrateを実行してデータベースに変更を適用します。

これで、NewsPostモデルにidフィールドが追加され、プライマリキーとして機能するようになります。

コメントを投稿

0 コメント