例えば、こんなモデル設計があったとします。
ForeinKeyを使用して、Storyオブジェクト(小説)はAuthorオブジェクト(作者)を参照しています。
このとき、Authorオブジェクトを削除してもStoryオブジェクトのAuthorは削除前に参照していたnameをデータとして維持するにはどうしたら良いでしょうか?
最初から参照せずAuthorと同じ名前をデータベースに保存する方法があると思いますが、
すでにForeignKeyで参照するmodelにしているため、なにかいい方法があればご教示いただけると幸いです。
python
1[models.py] 2 3from django.db import models 4 5class Author(models.Model): 6 """作者""" 7 name = models.CharField(max_length=50) 8 9 def __str__(self): 10 return self.name 11 12class Story(models.Model): 13 """小説""" 14 """↓Author(作者)オブジェクトを削除しても参照していた作者のnameをそのまま維持できるようにしたい""" 15 author = models.ForeignKey(Author, on_delete=models.SET_NULL) 16 title = models.CharField(max_length=50) 17 text = models.TextField() 18 19 def __str__(self): 20 return self.title
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/14 06:19