2

どのユーザーが現在モデルを保存しているかをdjangoコードから確認するにはどうすればよいですか?

検証エラーをスローするか、そこから彼にいくつかの権限を割り当てる必要があります。

4

1 に答える 1

2

ビュー関数からを実行すると仮定すると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()
于 2013-06-03T08:06:57.383 に答える