我在嘗試控制管理項條目,其中非超級用戶帳戶無法保存具有日期屬性超過2天的ChannelStatus模型輸入。我需要得到用戶,以便我可以檢查請求是否是請求者或超級用戶,但無法實現此目的。從管理員驗證類中獲取用戶
我已經嘗試了「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
這是因爲您沒有'request'對象。你需要給表單驗證函數一個'RequestContext'對象。 – 2009-09-07 09:22:07
我嘗試過類ChannelStatusValidForm(forms.ModelForm,request):但它似乎不起作用。 – Hellnar 2009-09-07 09:34:35
是的,我試過Google搜索,我找不到,或者找出如何發送它。我確信我已經看到它完成了。我相信有人會幫助你儘快解決問題! – 2009-09-07 09:44:00