从django模型中提取日期时间字段中的所有独特年份

时间:2015-01-14 20:44:16

标签: python django datetime sqlite

运行sqlite3和defulte datetime字段如何从数据库中提取所有唯一年/月/日而不迭代所有条目。区别似乎不适用于sqlite3,如果没有所有日期的慢速迭代,我无法想到另一种方法。

要清楚我想从数据库中提取所有唯一值,而不是过滤它们。

1 个答案:

答案 0 :(得分:3)

QuerySet方法datetimes处理此问题:

>>> SomeModel.objects.all().datetimes('date_field', 'year')
[datetime.date(2014, 1, 1), datetime.date(2015, 1, 1)]

>>> [d.year for d in SomeModel.objects.all().datetimes('date_field', 'year')]
[2014, 2015]

已更新为datetimes字段使用DateTimeField。对于DateField,请使用dates