【发布时间】:2016-11-07 19:34:05
【问题描述】:
在我的 Django 项目中,我需要计算旅行的日期范围,以查看旅行当前是否在途中。
class TourTemplate(models.Model):
length = models.IntegerField()
description = models.TextField(max_length=1000)
...
class Trip(models.Model):
tourtemplate = models.ForeignKey(TourTemplate)
start = models.DateField()
...
我将此添加到我的 Trip 模型中:
def end(self):
length = self.tourtemplate.length
start = self.start
a = start + timedelta(days=length)
return a
它在 shell 中工作并返回单个对象的结束日期。但是如何过滤我的查询集,以便只获取开始日期和计算结束日期之间的对象?
【问题讨论】:
-
您是否尝试过任何方法来“过滤我的查询集,以便我只获取开始日期和计算结束日期之间的对象?”你应该展示那个部分,即艺术人员可以提供更多帮助
-
我尝试注释结束日期:
Trip.objects.all().annotate(end=Trip.end())这给了我“end() 缺少 1 个必需的位置参数:'self'” -
您想使用对象的开始日期和计算的结束日期来查找两个给定日期内的对象吗?
-
看看this。应该有帮助
标签: python django django-models django-views