私はdjangoにUserモデルを持つ外部キーを持つモデルを持っています。on_delete属性を使用してUser Modelで外部キーフィールドにユーザーのフルネームを設定するにはどうすればよいですか?
class News(models.Model):
user = models.ForeignKey(AUTH_USER_MODEL, on_delete=models.SET(???))
message - models.TextField()
だから、データベースからユーザーアカウントを削除すると、ニューステーブルのエントリもユーザーによって削除されます。だから私は、すべてのユーザーアカウントが、その後削除されたとき、私は使用して、ユーザーフィールドに彼/彼女の完全な名前を設定する必要があることをしたい'on_delete=models.SET(???)'
例:
私は=「Neeraj」とlast_nameのをFIRST_NAMEユーザーを持っている場合= 'Kumar' そのユーザーアカウントを削除したいときにニューステーブルで彼の名前を保存します。
これは良い解決策ですが、それはそのままですが、外部キーは目的を果たしません。はい、逆の関係がありますが、削除された作者にとってはもはや不可能なことに余分なロジックを追加して、「著者名による投稿を見つける」必要があります。最善の解決策は、ユーザーを削除するのではなく、非アクティブにすることです。これが、ユーザモデルに 'is_active'がある理由です。 – Melvyn