我需要让一个user
创建具有Category
。当用户进入到create_event页的事件,他被出示一张dropdown list
Category
instances.I的需要,以确保只有那些由user
创建的Category
应显示在下拉列表中使用Django表单子类来创建一个下拉列表
我试图为此子类Form
子类,我可以在视图和模板中使用它。
模板create_event:
<h3>select from existing categories</h3>
{{category_choices_form.as_p}}
视图create_event:
def create_event(request,..):
user_categories = Category.objects.filter(creator=request.user)
form_data = get_form_data(request)
category_choices_form = CategoryChoicesForm(request.user,form_data)# is this correct?
...
def get_form_data(request):
return request.POST if request.method == 'POST' else None
然后,我创建了Form
子
class CategoryChoicesForm(forms.Form):
def __init__(self, categorycreator,*args, **kwargs):
super(CategoryChoicesForm, self).__init__(*args, **kwargs)
self.creator=categorycreator
categoryoption = forms.ModelChoiceField(queryset=Category.objects.filter(creator=self.creator),required=False,label='Category')
然而,行开始categoryoption =
原因错误说name 'self' is not defined
有人可以帮助我吗?