details: https://code.tryton.org/tryton/commit/fa4ad2e40f74
branch: 7.4
user: Cédric Krier <[email protected]>
date: Sat Jan 03 19:17:20 2026 +0100
description:
Apply types to SQLite query for the getter of history datetime of
invoice
Closes #14463
(grafted from a5578ab6db855a7b52cdaecb3d1910e319f16e8e)
diffstat:
modules/account_invoice_history/account.py | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diffs (39 lines):
diff -r b0c00edfceea -r fa4ad2e40f74 modules/account_invoice_history/account.py
--- a/modules/account_invoice_history/account.py Sat Jan 03 13:45:10
2026 +0100
+++ b/modules/account_invoice_history/account.py Sat Jan 03 19:17:20
2026 +0100
@@ -4,9 +4,10 @@
from sql.conditionals import Greatest
from sql.functions import CurrentTimestamp
+from trytond import backend
from trytond.model import ModelView, Workflow, fields
from trytond.pool import Pool, PoolMeta
-from trytond.tools import grouped_slice, reduce_ids
+from trytond.tools import grouped_slice, reduce_ids, sqlite_apply_types
from trytond.transaction import Transaction
@@ -58,7 +59,7 @@
invoice_ids = [i.id for i in invoices]
datetimes = dict.fromkeys(invoice_ids)
for ids in grouped_slice(invoice_ids):
- cursor.execute(*table
+ query = (table
.join(party, condition=table.party == party.id)
.join(address, condition=table.invoice_address == address.id)
.join(identifier, 'LEFT',
@@ -68,10 +69,13 @@
.select(table.id,
Greatest(table.numbered_at, party.create_date,
address.create_date, identifier.create_date,
- payment_term.create_date),
+ payment_term.create_date).as_('history_datetime'),
where=reduce_ids(table.id, ids)
& (table.numbered_at != Null)
& (table.state.in_(cls._history_states()))))
+ if backend.name == 'sqlite':
+ sqlite_apply_types(query, [None, 'DATETIME'])
+ cursor.execute(*query)
datetimes.update(cursor)
return datetimes