如何创建比较同一模型中两个日期字段的Django queryset过滤器

尝试获取一个查询,其中“我的Solr索引”中的“活动”记录已过时。我想检查Activity.updated数据库中的日期是否大于Activity.added_toSolr_date相同记录的日期。

stale_activities_queryset = Activity.objects.filter(updated__gte = self.added_toSolr_date) 

模型

class Activity(models.Model):

# Last time entry / metric was updated in the Activity model database

updated = models.DateTimeField( verbose_name="CRUD date")

# When it was added to Solr Index Date

added_toSolr_date = models.DateTimeField(blank=True, null=True, verbose_name="Added to Solr Index Date")

我引用了Django Query文档:https : //docs.djangoproject.com/en/1.4/ref/models/querysets/ 以及示例的单元测试:https : //github.com/django/django/blob/master/tests/ modeltests / or_lookups / tests.py

也在此处搜索Stackoverflow。所有示例都使用输入的日期,而不是比较同一模型中的两个日期字段。

回答:

F objects.

from django.db.models import F

stale_activities = Activity.objects.filter(updated__gte=F('added_toSolr_date'))

以上是 如何创建比较同一模型中两个日期字段的Django queryset过滤器 的全部内容, 来源链接: utcz.com/qa/404406.html

回到顶部