ハンターが狩猟レポートを書くことができるセクションをサイトに作成しています。
このセクションでは、「ウィッシュ リスト」(狩りたい動物)と「バッグ リスト」(狩りをした動物)から選択できます。
フォームを作成しましたが、いくつかのフィルターを使用して、ユーザー関連のデータのみを抽出する必要があります。
TemplateSyntaxError が原因で、forms.py などで問題が発生しています。
私が欲しいものの基本は、トロフィーのみをフィルタリングする「バッグリスト」であり、ユーザーは自分自身を選択する必要はありませんが、すでに通過しています。つまり、ユーザーの選択メニューはありません。
私のforms.pyは次のようになります
class HuntingReportForm(ModelForm):
date_travel_started = forms.DateField(widget=extras.SelectDateWidget(years=range(1970,2012)))
date_travel_ended = forms.DateField(widget=extras.SelectDateWidget(years=range(1970,2012)))
wish_list = forms.ModelMultipleChoiceField(queryset=Specie.objects.all(), widget=FilteredSelectMultiple("verbose name", is_stacked=False), required=False)
bag_list = forms.ModelMultipleChoiceField(queryset=Trophies.objects.all(), widget=FilteredSelectMultiple("verbose name", is_stacked=False), required=False)
class Meta:
model = HuntingReport
#exclude = ['user',]
def __init__(self, user, *args, **kwargs):
#self.user = kwargs.pop('user', None)
self.validate = kwargs.pop('validate', False)
super(HuntingReportForm, self).__init__(*args, **kwargs)
self.fields['bag_list'] = forms.ModelMultipleChoiceField(queryset=Trophies.objects.filter(user = user), widget=FilteredSelectMultiple("verbose name", is_stacked=False), required=False)
users = User.objects.filter(userprofile__outfitter=True)
self.fields['outfitter'].choices = [('', '')] + [(user.pk, user.get_full_name()) for user in users]
self.fields.keyOrder = ['title', 'date_travel_started', 'date_travel_ended', 'outfitter', 'wish_list', 'bag_list','report', 'user']
あなたの助けは大歓迎です。