私は、それぞれがForeign KeyとしてUserを使用する約10個のモデルを持っています。ユーザーが削除されると、これらの各テーブルの値をユーザーを削除するユーザーに設定する必要があります。権限のあるスタッフがユーザーをdjango管理エリアから削除しています。djangoモデルのon_deleteのSET値からリクエストパラメータにアクセスする方法
私は関数を呼び出して、値を設定するon_deleteメソッドのSETを使う必要があると思います。 これはドキュメントごとのコードです。
from django.db import models
from django.contrib.auth.models import User
def get_sentinel_user():
return User.objects.get_or_create(username='deleted')[0]
class MyModel(models.Model):
user = models.ForeignKey(User, on_delete=models.SET(get_sentinel_user))
私の場合、ユーザーを削除するユーザーを取得したいと考えています。これはRequestパラメータからのみ取得できます。 get_sentinel_user関数でリクエストパラメータにアクセスするにはどうすればよいですか?
しかし、get_sentinel_userで 'request'パラメータにアクセスするにはどうすればよいですか?インスタンスには、削除されるユーザーのIDのみがあります。私はユーザーを削除するユーザーのIDを取得したい、その情報は要求パラメーター内にのみあります。 – linuxfreak
私はユーザーのためにdjango.contrib.auth.models.Userを使用しています。管理者がユーザーを削除すると、DELETE要求がトリガーされます。要求には、request.userにユーザーの情報が含まれています。ビューセットに入っている場合は、self.requestから情報を取得できます。問題はモデルからアクセスすることです。どうすればいいのですか? – linuxfreak
私はすべて一緒に間違ったアプローチをしていることを知っているだけでなく、あなたが提供したget_sentinel_user()が要求パラメータを受け入れない赤ん坊です。 – e4c5