1

假设我有这样简单的模型:

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']

你将如何以最有效的方式解决这个问题。在视图或模板中这样做将不胜感激。

问候

4

1 回答 1

7
Foo.objects.order_by('b_date').values_list('b_date', flat=True)
于 2009-12-30T12:30:59.300 回答