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
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Kế toán
- Tồn kho
- PoS
- Project
- MRP
Câu hỏi này đã bị gắn cờ
_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
Tjanks Johan, work like a charm :)
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
Bạn có hứng thú với cuộc thảo luận không? Đừng chỉ đọc, hãy tham gia nhé!
Tạo tài khoản ngay hôm nay để tận hưởng các tính năng độc đáo và tham gia cộng đồng tuyệt vời của chúng tôi!
Đăng kýBài viết liên quan | Trả lời | Lượt xem | Hoạt động | |
---|---|---|---|---|
|
1
thg 1 23
|
6311 | ||
|
1
thg 4 16
|
3648 | ||
|
1
thg 8 23
|
1584 | ||
|
2
thg 5 23
|
10025 | ||
|
3
thg 4 23
|
53249 |