Use declarative index definition for ModelSQL
issue5757 review361251002
This commit is contained in:
1 parent
63fb7c3eb2
commit
fd361383f7
1 file changed
+17
-7
@@ -9,7 +9,7 @@ from sql.aggregate import Min
|
||||
from sql.conditionals import Coalesce
|
||||
|
||||
from trytond.config import config
|
||||
from trytond.model import ModelSQL, ModelView, fields
|
||||
from trytond.model import Index, ModelSQL, ModelView, fields
|
||||
from trytond.pool import Pool, PoolMeta
|
||||
from trytond.pyson import Eval, If
|
||||
from trytond.transaction import Transaction
|
||||
@@ -44,12 +44,12 @@ class Relation(ModelSQL):
|
||||
'Party Relation'
|
||||
__name__ = 'party.relation'
|
||||
|
||||
from_ = fields.Many2One('party.party', 'From', required=True, select=True,
|
||||
ondelete='CASCADE')
|
||||
to = fields.Many2One('party.party', 'To', required=True, select=True,
|
||||
ondelete='CASCADE')
|
||||
type = fields.Many2One('party.relation.type', 'Type', required=True,
|
||||
select=True)
|
||||
from_ = fields.Many2One(
|
||||
'party.party', "From", required=True, ondelete='CASCADE')
|
||||
to = fields.Many2One(
|
||||
'party.party', "To", required=True, ondelete='CASCADE')
|
||||
type = fields.Many2One(
|
||||
'party.relation.type', 'Type', required=True)
|
||||
start_date = fields.Date(
|
||||
"Start Date",
|
||||
domain=[
|
||||
@@ -66,6 +66,16 @@ class Relation(ModelSQL):
|
||||
])
|
||||
active = fields.Function(fields.Boolean("Active"), 'get_active')
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super().__setup__()
|
||||
if not callable(cls.table_query):
|
||||
t = cls.__table__()
|
||||
cls._sql_indexes.update({
|
||||
Index(t, (t.from_, Index.Equality())),
|
||||
Index(t, (t.to, Index.Equality())),
|
||||
})
|
||||
|
||||
def get_active(self, name):
|
||||
pool = Pool()
|
||||
Date = pool.get('ir.date')
|
||||
|
||||
Reference in new issue
Block a user