gpt4 book ai didi

python - 带有日期范围的 Mongoengine 查询

转载 作者:行者123 更新时间:2023-12-03 21:20:07 30 4
gpt4 key购买 nike

我试图在指定的时间跨度内通过 mongoengine 从 mongodb 检索数据。下面是使用的数据库模型。

class DeviationReport(db.Document):
meta = {'collection': 'DeviationReport'}
created_at = db.DateTimeField()
date = db.DateTimeField()
author = db.StringField()
read_by = db.ListField(default=[])
prod_line = db.ReferenceField(ProductionLine)
product = db.ReferenceField(Product)
description = db.StringField()

我试过的是下面的代码。但是它不会返回任何结果。当我需要根据用户输入构建动态查询时,我使用了类似的方法。
kwargs = {}
start = datetime.datetime(2018, 12, 11)
end = datetime.datetime(2019, 03, 13)
kwargs['created_at'] = { '$lt': end, '$gt': start }
DeviationReport.objects(**kwargs)

我显然已经确保在日期范围内有对象,并且我已经阅读了其他类似的帖子,其中下面的查询已被成功使用。如何让我的查询返回 'start' 和 'end' 之间的所有内容,或者如何按照我的意愿重写它?

谢谢。

最佳答案

我通过首先使用 **kwargs 获得我的结果无日期过滤,然后使用 Q 过滤它来解决/解决了这个问题。它可能不是最佳的,但它适用于我需要它做的事情。

reports = DeviationReport.objects(**kwargs)
reports = reports.filter((Q(date__gte=start) & Q(date__lte=end)))

关于python - 带有日期范围的 Mongoengine 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55148532/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com