how to add additional parameters to the queryset in forms.py

16 views
Skip to first unread message

احسان خراسانی

unread,
Nov 12, 2016, 4:41:13 PM11/12/16
to Django users
HI
i want to add additional parameters to the 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')

but its return KeyError:
'year'


ludovic coues

unread,
Nov 12, 2016, 5:06:16 PM11/12/16
to django...@googlegroups.com
You already have a parameter named year so you should use self.year =
year instead of self.year = kwargs.pop('year'). Same for month and
day.
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to django-users...@googlegroups.com.
> To post to this group, send email to django...@googlegroups.com.
> Visit this group at https://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/faf6ce5c-ec82-4451-90cd-413864167d1d%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



--

Cordialement, Coues Ludovic
+336 148 743 42
Reply all
Reply to author
Forward
0 new messages