2009-12-30 70 views
1

假設我有這樣簡單的模型:Django的查詢問題

class Foo(models.Model): 
    name = models.CharField(max_length=25) 
    b_date = models.DateField() 

現在假設從Foo.objects.all()我的查詢結果,我找回這樣的事情:

[ 
    {'name': 'zed', 'b_date': '2009-12-23'}, 
    {'name': 'amy', 'b_date': '2009-12-6'}, 
    {'name': 'joe', 'b_date': '2009-12-26'}, 
    {'name': 'wayne', 'b_date': '2009-12-14'}, 
    {'name': 'chris', 'b_date': '2009-12-9'}, 
] 

現在我需要的最早日期從b_date(對我們的案例是'2009-12-6')和最新的(例如「2009-12-23」),並生成從開始到結束的列表,如:

what_I_want = ['2009-12-6','2009-12-7','2009-12-8' .............. '2009-12-22','2009-12-23'] 

你會如何以最有效的方式解決這個問題。這樣做無論是在視圖或模板將不勝感激。

問候

回答

7
Foo.objects.order_by('b_date').values_list('b_date', flat=True)