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

pulling all unique years from datetime fields from a django model

运行 sqlite3 和 defulte datetime 字段如何在不遍历所有条目的情况下从数据库中提取所有唯一的 years/months/days。 Distinct 似乎不适用于 sqlite3,如果没有所有日期的缓慢迭代,我想不出另一种方法来做到这一点。

明确地说,我想从数据库中提取所有唯一值,而不是过滤它们。

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]

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