この回答は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)
修正後、以下の手順でマイグレーションを実行してください。
- 既存のマイグレーションファイルを削除します。
python manage.py makemigrationsを実行して新しいマイグレーションファイルを作成します。python manage.py migrateを実行してデータベースに変更を適用します。
これで、NewsPostモデルにidフィールドが追加され、プライマリキーとして機能するようになります。

0 コメント