值格式无效,格式必须为YYYY-MM-DD HH:MM

时间:2017-02-24 13:31:29

标签: python django datetime time aggregate

我正在使用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)

1 个答案:

答案 0 :(得分:0)

聚合返回两项词典。像你一样解压缩字典,只返回字典键min_datemax_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升级