2

我有一个类似于这个的模型:

class Trip(models.Model):
    departure = models.DateTimeField()
    arrival = models.DateTimeField()

我想进行一个查询,返回到达时间至少比出发时间晚 2 小时的对象。

Trip.objects.filter(arrival__gt = "departure" + timedelta(hours=2))

这甚至可能吗?谢谢

4

1 回答 1

2

您正在寻找引用模型字段的过滤器

但是,如果您想将模型字段的值与同一模型上的另一个字段的值进行比较怎么办?

请参阅此示例:

>>> from datetime import timedelta
>>> Entry.objects.filter(mod_date__gt=F('pub_date') + timedelta(days=3))

对于您的情况:

from django.db.models import F
Trip.objects.filter(arrival__gt = F('departure') + timedelta(hours=2))
于 2012-11-21T22:01:38.180 回答