Django 在注释上使用distinct

Django 在注释上使用distinct,django,django-2.0,Django,Django 2.0,我正试图得到一个明确的项目清单。db有一个已创建的字段datetime,我需要它作为查询的日期。所以我添加了一个注释。问题是distinct在注释上不起作用 distinct_failed_recharges = recharges.filter( status=FAILED ).annotate( created_date=TruncDate('created') ).distinct( 'created_date', 'sim', 'product_type', 'f

我正试图得到一个明确的项目清单。db有一个已创建的字段datetime,我需要它作为查询的日期。所以我添加了一个注释。问题是distinct在注释上不起作用

distinct_failed_recharges = recharges.filter(
    status=FAILED
).annotate(
    created_date=TruncDate('created')
).distinct(
    'created_date', 'sim', 'product_type', 'failure_reason'
).values_list('id', flat=True)
这是我得到的错误:

django.core.exceptions.FieldError: Cannot resolve keyword 'created_date' into field

我在django 1.11中遇到了相同的错误:

qs = queryset.annotate(day=TruncDay('date')).distinct('day')
ids = list(qs.values_list('id', flat=True))
出现此错误的结果:

FieldError: Cannot resolve keyword 'day' into field.
这是非常奇怪的,因为我试图评估“id”

我发现的唯一解决办法是:

qs = queryset.annotate(day=TruncDay('date')).distinct('day')
objects_list = list(qs)
ids = [object.id for object in objects_list]
这是非常低效的,但希望我的列表不会太长