Use declarative index definition for ModelSQL

issue5757
review361251002
This commit is contained in:
Cédric Krier
2022-10-11 00:44:49 +02:00
parent b343c36d59
commit 16a2c70377
+9 -2
View File
@@ -13,7 +13,7 @@ from sql.functions import CurrentTimestamp, Function, NthValue
from trytond import backend
from trytond.cache import Cache
from trytond.i18n import gettext
from trytond.model import ModelSQL, ModelView, Workflow, fields
from trytond.model import Index, ModelSQL, ModelView, Workflow, fields
from trytond.pool import Pool, PoolMeta
from trytond.pyson import Eval
from trytond.tools import timezone as tz
@@ -167,12 +167,19 @@ class Period(Workflow, ModelSQL, ModelView):
state = fields.Selection([
('draft', 'Draft'),
('closed', 'Closed'),
], "State", select=True, readonly=True, sort=False,
], "State", readonly=True, sort=False,
help="The current state of the attendance period.")
@classmethod
def __setup__(cls):
super().__setup__()
t = cls.__table__()
cls._sql_indexes.add(
Index(
t,
(t.company, Index.Equality()),
(t.state, Index.Equality()),
(t.ends_at, Index.Range(order='DESC'))))
cls._transitions |= set((
('draft', 'closed'),
('closed', 'draft'),