Yes, the function of the "|" operator depends on the objects to which it is 
being applied. In the first case, it is applied to two Query objects, so it 
functions as an "OR" operator (details depend on the database adapter). In 
the second case, it is applied to two Field objects (a subclass of 
Expression), so it functions as a separator for orderby lists (which is a 
comma in most cases, though a "+" in CouchDB).

Anthony

On Tuesday, April 7, 2015 at 10:01:19 AM UTC-4, Paul McDonald wrote:
>
> For queries the | means  or:
> >>> rows = db((db.person.name=='Alex') | (db.person.id>3)).select()
>                                                              ↖  here it is 
> an or
>
> You can sort the records according to multiple fields by concatenating 
> them with a "|":
> >>> for row in db().select(
>         db.person.ALL, orderby=db.person.name|db.person.id):
>                                                                     ↖   
> here it| concatinates multiple fields  
>

-- 
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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to