django - 如何在表单中向查询集添加其他参数
django - how to add additional parameters to queryset in forms
我想在表单中向查询集添加额外的参数
class Reserve(forms.ModelForm):
food_name = forms.ModelChoiceField(queryset=Food.objects.all())
def __init__(self, year=None, month=None, day=None, *args, **kwargs):
super(Reserve, self).__init__(*args, **kwargs)
self.year = kwargs.pop('year')
self.month = kwargs.pop('month')
self.day = kwargs.pop('day')
self.fields['food_name'].queryset = Food.objects.filter(
serve_date__year = year, serve_date__month = month, serve_date__day = day)
class Meta:
model = Reservation
fields = ('food_count', 'food_name')
但是它的 return KeyError:
'year'
Year 在这里是一个明确的关键字参数,它不在 kwargs 中。
self.year = year
对于您明确列出的其他参数,依此类推。
我想在表单中向查询集添加额外的参数
class Reserve(forms.ModelForm):
food_name = forms.ModelChoiceField(queryset=Food.objects.all())
def __init__(self, year=None, month=None, day=None, *args, **kwargs):
super(Reserve, self).__init__(*args, **kwargs)
self.year = kwargs.pop('year')
self.month = kwargs.pop('month')
self.day = kwargs.pop('day')
self.fields['food_name'].queryset = Food.objects.filter(
serve_date__year = year, serve_date__month = month, serve_date__day = day)
class Meta:
model = Reservation
fields = ('food_count', 'food_name')
但是它的 return KeyError:
'year'
Year 在这里是一个明确的关键字参数,它不在 kwargs 中。
self.year = year
对于您明确列出的其他参数,依此类推。