我正在使用django 1.6,我在代码的最后一行收到错误:
start__gte=min_date, start__lte=max_date)
这是错误:
[U "'start__min' value has an invalid format and must be of the form YYYY-MM-DD HH: MM [: ss [.uuuuuuu]] [TZ]"
这是我的功能:
def person_coming_events(person):
active_seasons = Season.objects.filter(is_active=True)
min_date, max_date = active_seasons.aggregate(Min('start'), Max('end'))
production_ids = SeasonProduction.objects.filter(season__in=active_seasons).values_list('production_id', flat=True)
return Activity.objects.filter(production_id__in=production_ids, cast__person=person,
start__gte=min_date, start__lte=max_date)
答案 0 :(得分:0)
聚合返回两项词典。像你一样解压缩字典,只返回字典键min_date
和max_date
;意味着它们被分配给字符串'start__min'
和'end__max'
,这些字符串不是有效的日期值。
您应该访问相应的字典键并将日期值分配给变量:
agg = active_seasons.aggregate(Min('start'), Max('end'))
min_date, max_date = agg['start__min'], agg['end__max']
顺便说一句,您应该考虑从Django1.6升级