Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
2 Odpowiedzi
26991 Widoki

Hello, I was wondering if there is an easy way to sort a many2one field in descending order?  Is it in the python file or xml view?  I tried adding an _order = 'field_name desc' in the python class file, but it didnt work.  Thank you 

Awatar
Odrzuć
Najlepsza odpowiedź

_order = 'field_name desc' in the model should normally work but it applies for all views of your application
If you want to specify the order only in that many2one field, one solution is to use a context value and overwrite the search function:

f.i.:

In my python class:
    period_id = fields.Many2one(string='Period',
                                                       comodel_name='account.period')

In my XML view
    <field name="period_id"  context="{'order_display': 'name desc' }"/>

In the python model of the comodel:
    class AccountPeriod(models.Model):
        _inherit = 'account.period'
        @api.model
        def search(self, args, offset=0, limit=None, order=None, count=False):
            ctx = self._context
            if 'order_display' in ctx:
                order = ctx['order_display']
            res = super(AccountPeriod, self).search(
                args, offset=offset, limit=limit, order=order, count=count)
            return res

Awatar
Odrzuć

Tjanks Johan, work like a charm :)

Najlepsza odpowiedź

To add your code in the many2one master table in the python file for the name fields or other fields that are using to display value in the drop down list

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
1
sty 23
6312
1
kwi 16
3650
1
sie 23
1584
2
maj 23
10025
3
kwi 23
53251