New model:
db.define_table('categories):
Field('title', type='string'))
db.define_table('products'):
Field('code', type='string'),
Field('category', reference 'categories'))
With groupby I obtain a good result.
results = db(db.products).select(db.products.category, groupby=db.products.
category)
But I need to order the results by the category title.
If I do like that:
results = db(db.products).select(db.products.category, orderby=db.product.
category.title, groupby=db.products.category)
Ticket is : 'Field' object has no attribute 'title'
Is there a way to order these results, or make a query that selct only the
categories in db.categories that are in db.products ?
Il giorno giovedì 9 giugno 2016 12:56:57 UTC+2, [email protected] ha
scritto:
>
> Looks like you want a subquery. You'll need to decide which of the items
> to choose when you have a given category_code.
> Say you want the first item with a given category code:
>
> sub_query = db()._select(db.products.id.min(), groupby=db.products.
> category_code)
> results = db(db.products.id.belongs(sub_query)).select()
>
>
> On Wednesday, 8 June 2016 15:10:33 UTC+1, Gael Princivalle wrote:
>
>> Hello.
>>
>> Is there a way to select some rows without duplicates for a specific
>> field ?
>>
>> MODEL:
>> db.define_table('products'):
>> Field('code', type='string'),
>> Field('category_code', type='integer'))
>>
>> ROWS:
>> code / category_code
>> A1125 / 3
>> C2214 / 2
>> D235 / 3
>> Z886 / 1
>>
>> I would like to make a select that give this result:
>> code / category_code
>> A1125 / 3
>> C2214 / 2
>> Z886 / 1
>>
>> Someone have an idea ?
>>
>> Thanks.
>>
>>
>>
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.