Как ограничить запрос, используя комбинацию целочисленных полей и полей datetime.datePython

Программы на Python
Гость
Как ограничить запрос, используя комбинацию целочисленных полей и полей datetime.date

Сообщение Гость »

Я пытаюсь создать запрос, объединяющий три таблицы

Код: Выделить всё

set = db(
(db.Investigation.WorkFlow == db.WorkFlowStatus.WorkFlow)
&(db.WorkFlow.id == db.Investigation.WorkFlow)
)
для моего последнего условия я хочу выбрать только записи, которые уже просрочены, примерно так:

Код: Выделить всё

&(db.WorkFlowStatus.Overdue < (datetime.date.today() - db.Investigation.ValidFrom))
Поле «Просрочено» — целое число (представляет дни), поле ValidFrom — datetime.date.
Сначала я не могу выполнить datetime.date.today () - db.Investigation.ValidFrom, только наоборот.
Если я выполню db.Investigation.ValidFrom - datetime.date.today(), это работает, но я все еще не могу преобразовать свой результат в целое число внутри запрос, чтобы иметь возможность сравнить его с моим полем «Просрочка».
Я попытался преобразовать поле «Просрочка», используя datetime.timedelta(days=) (неподдерживаемый тип для компонента timedelta дней: поле) и используя .days в результате моего вычитания (объект Expression не имеет атрибутов дней), но, похоже, ничего не работает. Есть ли способ добавить это в мои условия или, возможно, можно использовать обходной путь?

Источник: https://stackoverflow.com/questions/781 ... ate-fields

Вернуться в «Python»