user
を持つイベントを作成させる必要がありCategory
ます。ユーザーが create_event ページに移動するとdropdown list
、Category
インスタンスが表示されますCategory
。作成されたもののみuser
がドロップダウン リストに表示されるようにする必要があります。
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
誰かがこれで私を助けることができますか?