On 11 Jul 2012, at 7:25 AM, Jonathan Lundell wrote:
>
> 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)
I added a line to the book pointing this out.
>
>
>>
>> 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)
>