Oops This is now in trunk!
Please open a google issue and I will try a global human-assisted semi-
automated search and replace. ;-)

On Aug 5, 2:52 pm, Carlos <[email protected]> wrote:
> Hi,
>
> When I try to assign a Field instance as a value in a Storage object, it
> fails by simply not assigning anything (and in fact removing the key if it
> was already present).
>
>    x = Storage()
>    x.any = (any Field instance)
>    print x ... <Storage {}>
>
> In summary, it treats Field instances as None because of the condition [ if
> value == None ] used in Storage.__setattr__, which (incorrectly) causes a
> Query object to be created, thus causing the condition to be incorrectly
> evaluated to True.
>
> The fix is to use [ if value *is None* ]  instead of [ if value == None ].
>
> In fact, I recommend to use [ is None / is not None ] everywhere instead
> of [ == / != None ], precisely to avoid these kind of problems.
>
> Thanks,
>
>    Carlos

Reply via email to