changeset 676141321e07 in modules/currency:default
details: https://hg.tryton.org/modules/currency?cmd=changeset&node=676141321e07
description:
        Use declarative index definition for ModelSQL

        issue5757
        review361251002
diffstat:

 currency.py |  15 +++++++++++----
 fields.py   |   6 +++---
 2 files changed, 14 insertions(+), 7 deletions(-)

diffs (69 lines):

diff -r c3c7cf3e6ba5 -r 676141321e07 currency.py
--- a/currency.py       Mon Sep 19 21:25:55 2022 +0200
+++ b/currency.py       Tue Oct 11 00:44:49 2022 +0200
@@ -16,8 +16,8 @@
 
 from trytond.i18n import gettext
 from trytond.model import (
-    Check, DeactivableMixin, DigitsMixin, ModelSQL, ModelView, SymbolMixin,
-    Unique, fields)
+    Check, DeactivableMixin, DigitsMixin, Index, ModelSQL, ModelView,
+    SymbolMixin, Unique, fields)
 from trytond.pool import Pool
 from trytond.pyson import Eval, If
 from trytond.rpc import RPC
@@ -256,7 +256,8 @@
 class CurrencyRate(ModelSQL, ModelView):
     "Currency Rate"
     __name__ = 'currency.currency.rate'
-    date = fields.Date('Date', required=True, select=True,
+    date = fields.Date(
+        "Date", required=True,
         help="From when the rate applies.")
     rate = fields.Numeric(
         "Rate", digits=(rate_decimal * 2, rate_decimal), required=1,
@@ -276,6 +277,12 @@
             ('check_currency_rate', Check(t, t.rate >= 0),
                 'currency.msg_currency_rate_positive'),
             ]
+        cls._sql_indexes.add(
+            Index(
+                t,
+                (t.currency, Index.Equality()),
+                (t.date, Index.Range()),
+                order='DESC'))
         cls._order.insert(0, ('date', 'DESC'))
 
     @staticmethod
@@ -451,7 +458,7 @@
 
     cron = fields.Many2One(
         'currency.cron', "Cron",
-        required=True, select=True, ondelete='CASCADE')
+        required=True, ondelete='CASCADE')
     currency = fields.Many2One(
         'currency.currency', "Currency",
         required=True, ondelete='CASCADE')
diff -r c3c7cf3e6ba5 -r 676141321e07 fields.py
--- a/fields.py Mon Sep 19 21:25:55 2022 +0200
+++ b/fields.py Tue Oct 11 00:44:49 2022 +0200
@@ -11,8 +11,8 @@
     """
     def __init__(self, string='', currency=None, digits=None, help='',
             required=False, readonly=False, domain=None, states=None,
-            select=False, on_change=None, on_change_with=None, depends=None,
-            context=None, loading='eager'):
+            on_change=None, on_change_with=None, depends=None, context=None,
+            loading='eager'):
         '''
         :param currency: the name of the Many2One field which stores
             the currency
@@ -25,7 +25,7 @@
             depends.add(currency)
         super().__init__(string=string, digits=digits, help=help,
             required=required, readonly=readonly, domain=domain, states=states,
-            select=select, on_change=on_change, on_change_with=on_change_with,
+            on_change=on_change, on_change_with=on_change_with,
             depends=depends, context=context, loading=loading)
         self.currency = currency
 

Reply via email to