将数据传递到django表单';s现场清理法
我有这样的表格:将数据传递到django表单';s现场清理法,django,django-models,django-forms,django-validation,Django,Django Models,Django Forms,Django Validation,我有这样的表格: class TitlePropose(forms.Form): title = forms.CharField(max_length=128) code= forms.CharField(max_length=32) def __init__(self, contest, *args, **kwargs): super(TitlePropose, self).__init__(*args, **kwargs) self.h
class TitlePropose(forms.Form):
title = forms.CharField(max_length=128)
code= forms.CharField(max_length=32)
def __init__(self, contest, *args, **kwargs):
super(TitlePropose, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.form_id = self.__class__.__name__.lower()
self.helper.form_action = ''
self.helper.layout = Layout(,
Field('title'),
Field('code'),
)
def clean_title(self):
if OtherModel.objects.filter(contest=contest, title=self.cleaned_data['title']).count() > 0:
raise forms.ValidationError("Title unavailable")
else:
return self.cleaned_data['title']
我试图通过clean_title方法访问变量“contest”,但没有成功。我在form class Constructor中传递此变量:
#contest is just some object
new_title_form = TitlePropose(contest=contest.uuid)
有什么建议吗,我怎样才能获得clean_标题中的“竞赛”?这是标准的Python类内容。如果要存储对象以便其他方法可以访问它,可以通过将其添加到
self
将其作为实例属性
def __init__(self, *args, **kwargs):
self.contest = kwargs.pop('contest')
super(TitlePropose, self).__init__(*args, **kwargs)
def clean_title(self):
if OtherModel.objects.filter(contest=self.contest, ...
这是标准的Python类内容。如果要存储对象以便其他方法可以访问它,可以通过将其添加到
self
将其作为实例属性
def __init__(self, *args, **kwargs):
self.contest = kwargs.pop('contest')
super(TitlePropose, self).__init__(*args, **kwargs)
def clean_title(self):
if OtherModel.objects.filter(contest=self.contest, ...
这是标准的Python类内容。如果要存储对象以便其他方法可以访问它,可以通过将其添加到
self
将其作为实例属性
def __init__(self, *args, **kwargs):
self.contest = kwargs.pop('contest')
super(TitlePropose, self).__init__(*args, **kwargs)
def clean_title(self):
if OtherModel.objects.filter(contest=self.contest, ...
这是标准的Python类内容。如果要存储对象以便其他方法可以访问它,可以通过将其添加到
self
将其作为实例属性
def __init__(self, *args, **kwargs):
self.contest = kwargs.pop('contest')
super(TitlePropose, self).__init__(*args, **kwargs)
def clean_title(self):
if OtherModel.objects.filter(contest=self.contest, ...
看这个:看这个:看这个:看这个: