Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
1 Rispondi
2905 Visualizzazioni

I created custom field 'A' for sale.order table. field 'A' is defined as String in db. A values are numbers most of the time (eg. 50011) and sometimes default strings(eg. 'default'). I want to get top 10 A field numbers in a query. I wrote:

`recent_orders = request.env['sale.order'].sudo().search(
[('...')],
limit=10,
order='A desc')`
but it compares A data as strings. How can I make it compare them as integers and ignore string fields.
Avatar
Abbandona
Risposta migliore

If default string is always 'default', you could try writing SQL query with cast function which converts value to your specified type:

result = self._cr.execute('select * from sale_order where A != 'default' order by cast(A as integer) desc limit 10') 
Avatar
Abbandona
Post correlati Risposte Visualizzazioni Attività
1
dic 16
8379
1
ott 20
3319
1
set 20
4321
1
dic 19
6827
0
mar 15
4342