Вычитание даты из двух столбцов даты Django ORM для фильтра - PullRequest
0 голосов
/ 26 июня 2019

У меня есть два ключа / столбца в MongoDB.Я использую Django ORM для получения данных от Монго, используя соединитель под названием djongo.Мне нужно применить фильтр.Я должен взять разницу от даты в столбце и проверить, составляет ли разница менее 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.

Пожалуйста, помогите.Спасибо

1 Ответ

0 голосов
/ 26 июня 2019

как ошибка указывает, что вы пытаетесь выполнить неподдерживаемую операцию. Я не знаком с Django, но я бы предложил использовать ваши поля в качестве даты, а затем выполнить вашу операцию. E. Дата G (F («сканировано»)) - дата (F («опубликовано»))

...