当前位置: 首页 > 面试题库 >

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

晏弘雅
2023-03-14
问题内容

尝试获取一个查询,其中“我的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。所有html" target="_blank">示例都使用输入的日期,而不是比较同一模型中的两个日期字段。


问题答案:

F objects.

from django.db.models import F
stale_activities = Activity.objects.filter(updated__gte=F('added_toSolr_date')) 


 类似资料:
  • 问题内容: 在我的收藏夹中,每个文档都有2个修改和同步的日期。我想查找已修改>同步,或不存在同步的内容。 我试过了 但没有显示我的期望。有任何想法吗? 谢谢 问题答案: 您不能将一个字段与具有正常查询匹配的另一个字段的值进行比较。但是,您可以使用聚合框架执行此操作: 我在其中输入“您的其他常规查询”,因为您可以使该位使用索引。因此,如果您只想对该字段所在的文档执行此操作,则可以执行以下操作: 用输

  • 问题内容: 如何使用Python比较两个日期以查看稍后的日期? 例如,我想检查当前日期是否超过了我创建的假期日期列表中的最后日期,因此它将自动发送电子邮件,告诉管理员更新holiday.txt文件。 问题答案: 使用方法和运算符及其种类。

  • 问题内容: 我想比较两个日期和时间,我想要所有结果 但这只是比较日期而不是时间。它给了我今天日期的所有结果集 提前致谢! 问题答案: 您要显示的查询示例: 04:00:00是4AM,所以您显示的所有结果都 在 那 之后 ,这是正确的。 如果要在下午4点之后显示所有内容,则需要在查询中使用正确的(24hr)表示法。 为了使事情更清晰,请尝试以下操作: 这将向您显示日期及其12小时时间。

  • 问题内容: 我正在尝试比较两个日期,而我只想比较日期部分而不是时间部分,这就是我在程序中存储日期的方式: 我有一个: 我想用 但是由于还涉及时间部分,所以我无法获得正确的答案。我该如何解决我的问题? 我不想使用JODA-TIME 问题答案: 您可以像这样逐个比较价值 要么 如果您使用Date类,请考虑改用Calendar类这是最优雅的解决方案,为此使用Calendar和Comparator 用法:

  • 问题内容: 如果日期格式为和,如何在php中比较两个日期。 我正在使用此代码: 但它不起作用.. 问题答案: 您必须确保您的日期是有效的日期对象。 尝试这个: 然后,您可以执行该方法来获得差异。

  • 问题内容: 如何在PHP中比较两个日期? 在数据库中,日期看起来像2011-10-2。 如果我想将今天的日期与数据库中的日期进行比较,看哪个更大,我该怎么做? 我试过了 但这并不是真的那样。还有另一种方法吗? 更新:我知道这篇文章有点老,但是我只想提及carbon,它是与laravel一起使用的一类,但可以与经典php一起使用,并且它确实与日期有关。检查一下:碳 问题答案: 在数据库中日期看起来像