Я пытаюсь использовать проверку с объектом request.user, чтобы ограничить обновления некоторых строк для определенных пользователей на сайте администратора django.У меня сложилось впечатление, что мне нужно переопределить метод change_view ModelAdmin, чтобы передать объект запроса в форму.Я посмотрел на метод change_view в django.contrib.admin.options
, но, как новичок в django, у меня возникли проблемы с пониманием, где в методе change_view мне нужно внести эти изменения.Любые указатели в правильном направлении были бы хороши.
class IssuesAdmin(admin.ModelAdmin):
def change_view(self, request, object_id, extra_context=None):
#modify lines to pass request to form
form = IssuesAdminForm
class IssuesAdminForm(forms.ModelForm):
class Meta:
model = Issues
def __init__(self, *args, **kwargs):
self.request = kwargs.pop('request', None)
super(IssuesAdminForm, self).__init__(*args, **kwargs)
def clean_product(self):
if self.request.user.name=='someone'
return self.cleaned_data["product"]
else:
raise forms.ValidationError("Nope!")