[email protected] wrote:
>> def search( self, **kw ):
>> by_where_clause = {}
>> for k,v in kw.items():
>> by_where_clause[ k ] = v
>>
> i guess u want to do query.filter_by(**by_where_clause) after that?
>
This is the final result, and I'm not problems about it.
what I'm looking for is a function which returns the opposite of null()
to use as a function parameter
null() translates to 'IS NULL'
my need is a functions which translates to 'IS NOT NULL', something like
not_null() / notnull()
j
> it's just a syntax sugar over .filter(). so
>
> by_where_clause = []
> for k,v in kw.items():
> col = getattr(self.c,k)
> if v == 'nn': # I use 'nn' to generate a NOT NULL
> by_where_clause.append( c <> None)
> else:
> by_where_clause.append( c == v)
> query.filter(and_(*by_where_clause))
> that's 3 lines more ..
>
> svil
>
> On Thursday 19 March 2009 17:43:22 jo wrote:
>
>> Well, MIchael, in my case a notnull() function could be very
>> interesting because I'm using it in a function, and would like pass
>> values as parameters in such way:
>>
>>
>> def search( self, **kw ):
>> by_where_clause = []
>> for k,v in kw.items():
>> if k == 'myfield1':
>> if v == 'nn': # I use 'nn' to generate a NOT
>> NULL because we don't have a notnull() function
>> by_where_clause.append( self.c.field1 <>
>> None) else:
>> by_where_clause.append( self.c.field1 ==
>> v)
>>
>> elif k == 'myfield2':
>> if v == 'nn': # I use 'nn' to generate a NOT
>> NULL because we don't have a notnull() function
>> by_where_clause.append( self.c.field2 <>
>> None) else:
>> by_where_clause.append( self.c.field2 ==
>> v)
>>
>> elif k == 'myfield3':
>> if v == 'nn': # I use 'nn' to generate a NOT
>> NULL because we don't have a notnull() function
>> by_where_clause.append( self.c.field3 <>
>> None) else:
>> by_where_clause.append( self.c.field3 ==
>> v) ...
>>
>>
>>
>>
>> Mytb.search(myfield=None) -- generates WHERE myfield IS NULL
>> Mytb.search(myfield=null()) -- generates WHERE myfield IS NULL
>> Mytb.search(myfield='nn') -- generates WHERE myfield IS NOT NULL
>>
>>
>>
>> if we have a notnull() function these thing could be easier:
>>
>> def search( self, **kw ):
>> by_where_clause = {}
>> for k,v in kw.items():
>> by_where_clause[ k ] = v
>>
>>
>> Mytb.search(myfield=None) -- generates WHERE myfield IS NULL
>> Mytb.search(myfield=null()) -- generates WHERE myfield IS NULL
>> Mytb.search(myfield=notnull()) -- generates WHERE myfield IS NOT
>> NULL
>>
>> Michael Bayer wrote:
>>
>>> well usually null() and not_(null()) aren't needed as explicit
>>> constructs. comparisons like somecol == None and somecol !=
>>> None will generate the appropriate NULL/NOT NULL expression.
>>>
>>> On Mar 19, 2009, at 4:48 AM, jo wrote:
>>>
>>>> Hi all,
>>>>
>>>> I would like to know if there's a notnull() function in
>>>> sqlalchemy similar to null()
>>>> to avoid things like not_(null()) ?
>>>>
>>>> thank you
>>>>
>>>> j
>>>>
>>
>
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---