On 11 Jul 2012, at 7:19 AM, hasan alnator wrote:
> ohh thank you Jonathan its working now , but can you tell me why ? i dont 
> understand 

web2py overloads & to perform a logical-and role here, but it can't alter 
Python's operator precedence. The & operator has higher precedence than ==, 
unlike the 'and' operator (or the '&&' operator in C). So this:

video = db(db.Videos.Video_Type == "XXX" & db.Videos.Teacher == 
"xx").select(db.Videos.ALL)

evaluates the same as this:

video = db(db.Videos.Video_Type == ("XXX" & db.Videos.Teacher) == 
"xx").select(db.Videos.ALL)


> 
> On Wed, Jul 11, 2012 at 5:14 PM, Jonathan Lundell <[email protected]> wrote:
> On 11 Jul 2012, at 7:09 AM, hasan alnator wrote:
>> Dear David,
>> 
>> the '&' is not supported when i use it i get this : 
>> 
>>  unsupported operand type(s) for &: 'str' and 'Field'
>> 
> 
> video = db((db.Videos.Video_Type == "XXX") & (db.Videos.Teacher == 
> "xx")).select(db.Videos.ALL)  
> 
> 
>> On Wed, Jul 11, 2012 at 1:41 PM, David Marko <[email protected]> wrote:
>> Should not this ...
>> video = db(db.Videos.Video_Type == "XXX" and db.Videos.Teacher == 
>> "xx").select(db.Videos.ALL) 
>> 
>> be rather like this? (see and  vs. &)
>> video = db(db.Videos.Video_Type == "XXX" & db.Videos.Teacher == 
>> "xx").select(db.Videos.ALL)  
> 


Reply via email to