我在MongoDB中有两个键/列。我正在使用Django ORM,使用称为djongo的连接器从mongo中获取数据。 我需要套用过滤器。我必须与列日期有所不同,并检查差异是否少于24小时。
这是我的查询-
time_threshold = datetime.datetime.now() - timedelta(days=1)
total_count = ArticleFeed.objects.annotate(
diff=ExpressionWrapper(F('crawled') - F('published'), output_field=DurationField())
).filter(diff__lte=time_threshold,
crawled__lte=report_start_ISO, crawled__gte=last_ISO, data_source="TOI").exclude(
reject='repeat').count()
但是我收到以下异常-
文件 “ /home/embed/inmobi/content_curation_project/ccp_env/lib/python3.7/site-packages/django/db/backends/base/operations.py”, 第621行,在subtract_temporals中 引发NotSupportedError(“此后端不支持%s减法。”%internal_type)django.db.utils.NotSupportedError:此 后端不支持DateTimeField减法。
请帮助。 谢谢
答案 0 :(得分:0)
,因为该错误表明您正在尝试执行不受支持的操作。我不熟悉Django,但建议您将字段强制转换为日期,然后执行操作。 E.G date(F('crawled'))-date(F('published'))