2016-11-11 82 views
2

我需要过滤Food model by datetime在forms.py,但我不知道该怎么做。任何人都可以帮我吗?django - queryset in modelForm

models.py

class Food(models.Model): 
    class Meta: 
     verbose_name = "Food" 
     verbose_name_plural = "Foods" 

    def __unicode__(self): 
     return self.food_name 

    food_name = models.CharField(verbose_name="Food Name", max_length=50) 
    serve_date = models.DateTimeField(verbose_name="Serve Date") 

forms.py

class Reserve(forms.ModelForm): 
    food_name = forms.ModelChoiceField(
     queryset=Food.objects.all(), 
     widget=forms.Select(), 
     empty_label=u"برای انتخاب غذا کلیک کنید", 
     ) 

    class Meta: 
     model = Reservation 
     fields = ('food_count', 'food_name') 
+0

你有没有尝试或研究过任何东西? – Sayse

+0

@Sayse是的.... – shahin

回答

1

您可以通过使用LTE筛选查询集或GTE以下列方式(大于或等于)(大于或等于以内): -

queryset=Food.objects.filter(serve_date__lte='2006-01-01') 

queryset=Food.objects.filter(serve_date__gte='2006-01-01') 
+0

有什么办法通过url传递值?像http://127.0.0.1:8000/2016/11/08/ – shahin

+0

是的,你可以将它作为127.0.0.1:8000/2016-11-08传递,然后在你的视图中,你可以用' - '替换'/',因为'/'会与我的问题在那里的网址 –

+0

相冲突。如何传递日期时间变量(年,月,日)来形成? – shahin