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)
>