This question has been flagged
2 Replies
9202 Views

Hello,

I can manage ordering in a tree view with "_order = xxx" option in an object, but when I use a group by filter, this order is lost.

I have to order a column by hand to keep this order on the groupby view.

Does anyone know how to set an order by in a group by filter used by default?

Thanks,

David

Avatar
Discard
Best Answer

Hi, try to override this method with orderby attribute you want :

https://doc.odoo.com/6.0/developer/2_5_Objects_Fields_Methods/methods/

read_group(cr, uid, domain, fields, groupby, offset=0, limit=None, context=None, orderby=False)

Get the list of records in list view grouped by the given groupby fields

Parameters:

  • cr -- database cursor

  • uid -- current user id

  • domain -- list specifying search criteria [['field_name', 'operator', 'value'], ...]

  • fields -- list of fields present in the list view specified on the object

  • groupby -- list of fields on which to groupby the records

  • offset -- optional number of records to skip

  • limit -- optional max number of records to return

  • context -- context arguments, like lang, time zone

  • order -- optional order by specification, for overriding the natural sort ordering of the groups, see also search() (supported only for many2one fields currently)

Avatar
Discard
Author

It works! I search for my group by vue in groupby argument, then I set a value to order_by on the colums I want. Thanks a lot, David

Best Answer

As fas as I know, I dont think you can set ordering criteria on group by... if you had noticed,  in the database query level only when you have aggregate functions/group by clause, you cannot straight way order it on the resultant data..

hence same way happens in odoo group by also...

Avatar
Discard