どのユーザーが現在モデルを保存しているかをdjangoコードから確認するにはどうすればよいですか?
検証エラーをスローするか、そこから彼にいくつかの権限を割り当てる必要があります。
どのユーザーが現在モデルを保存しているかをdjangoコードから確認するにはどうすればよいですか?
検証エラーをスローするか、そこから彼にいくつかの権限を割り当てる必要があります。
ビュー関数からを実行すると仮定するとmodel.save()
、現在のユーザーを で取得できますrequest.user
。
from django.contrib.auth.models import Permission
def myview(request):
model = Model(...)
model.save()
permission = Permission.objects.get(codename="...")
request.user.user_permissions.add(permission)
編集: フォームでリクエストにアクセスする
フォーム検証コードからリクエストを取得する最も簡単な方法は、おそらくフォーム インスタンスに属性を設定することです。
def myview(request):
...
form = SomeForm(...)
form.request = request
フォーム検証ロジック内でself.request
、ユーザーへのアクセスに使用できるようになりました。
class SomeForm(...):
def clean_somefield(self):
data = self.cleaned_data["somefield"]
if self.request.user....:
raise ValidationError()