I would to do :
def read():
id = request.args(0,cast=int,default=None)
if id is None:
location = db(db.location.id == request.args(0)).select().first()
else:
default_sort_order = [db.location[x] for x in 'city street_name
street_number building name'.split()]
locations = db().select(orderby = default_sort_order)
return locals()
On Wednesday, 30 January 2013 15:26:13 UTC-6, Gian Luca Decurtins wrote:
>
> Hi all
>
> What do you think about the following code example? Is there a more
> elegant way to be able to call a function with and without arguments?
> How can I select the fields which shall be returned? I did try it in the
> .select(db.location.id, db.location.name) part, but the JSON output
> always contained all the fields.
>
> Cheers
> -Luca.
>
> def read():
>
> if (request.args(0) == None):
>
> default_sort_order = [db.location.country, db.location.city,
> db.location.street_name, db.location.street_number, db.location.building,
> db.location.name]
>
> locations = db().select(orderby = default_sort_order)
>
> return dict(locations = locations)
>
> else:
>
> location = db(db.location.id == request.args(0)).select().first()
>
> return dict(location = location)
>
--
---
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/groups/opt_out.