我正在尝试将参数传递给我的 ModelForm 的 clean 方法,以便我可以对某些数据执行一些额外的验证。
在我的 views.py 文件中,我有:
page_data = page_form.cleaned_data(foo="bar")
在我的 clean_url 方法中,我有:
def clean_url(self, **kwargs):
url = self.cleaned_data['url']
if kwargs['foo'] == url:
query = FlatPage.objects.filter(url=url)
if query.exists():
raise forms.ValidationError(("This url is already being used by the '%s' page.") % (query[0].title))
return url
我不断收到一个 KeyError foo
。我不确定我在哪里犯了错误,因为我之前已经传递了 kwarg 变量,但从来没有传递给一个干净的方法。