Django queryset:group_by并比较最新值

时间:2015-10-05 12:23:27

标签: django

我有一个模型,用于存储与关联相关联的人的日期范围。

所以数据存储如下:

person    |    start_date    |    end_date
Person1   |    2014-05-01    |   2014-10-20
Person1   |    2015-01-10    |   2015-05-12 *I want this entry
Person2   |    2012-11-11    |   2013-01-02
Person2   |    2014-02-12    |   NULL
Person3   |    2015-02-12    |   2015-08-01 *I want this entry

如何才能获得已离开协会的会员? (最后一个日期范围的end_date大于或等于最后一个日期范围的start_date。)

型号:

class Period(models.Model):
    person = models.ForeignKey(Person)
    start_date = models.DateField()
    end_date = models.DateField(null=True)

谢谢!

1 个答案:

答案 0 :(得分:0)

我不知道你需要什么,但你可以在django queryset api中找到它。

Entry.objects.filter(pub_date__range =(start_date,end_date)) Entry.objects.exclude(pub_date__gt = datetime.date(2015,5,12))