슈퍼 유저가 아닌 사용자 계정이 2 일보다 오래된 날짜 속성을 가진 ChannelStatus 모델 입력을 저장할 수없는 경우 관리 항목 입력을 제어하려고합니다. 요청을 reqular 또는 슈퍼 사용자가 확인할 수 있지만이를 얻을 수 없도록 사용자를 가져와야합니다.관리자 유효성 검사 클래스에서 사용자 가져 오기
"request.user.is_superuser", "user.is_superuser", "self.user.is_superuser"및 "self.request.user.is_superuser"를 시도했지만 아무 것도 작동하지 않는 것 같습니다.
class ChannelStatusValidForm(forms.ModelForm):
class Meta:
model = ChannelStatus
def clean(self):
cleaned_data = self.cleaned_data
mydate = cleaned_data.get("date")
today = date.today()
if request.user.is_superuser:## here is the problem
return cleaned_data
elif (today - timedelta(days=2)) > mydate:
raise forms.ValidationError("Invalid date, maximum 2 days allowed.")
else:
return cleaned_data
'요청'개체가 없기 때문에 가능합니다. 폼 유효성 검사 함수에'RequestContext' 객체를 제공해야합니다. –
ChannelStatusValidForm (forms.ModelForm, request) 클래스를 시도했지만 작동하지 않는 것 같습니다. – Hellnar
그래, 나는 인터넷 검색을 시도하고 찾을 수 없거나 그것을 보내는 방법을 알아 낸다. 누군가가 곧 해결하도록 도와 줄 것입니다. –