Oleg Broytmann wrote:
> You seldom use iterators in a boolean context. But people write
>
> if MyTable.select():
>
> all the time...
I was mometarily confused now, because I was sure i came accross
situations where this did not work.
Now try this:
class MySelectResult:
def __nonzero__(self):
return self.count() > 0
# uncomment this, to make it work correctly
#SQLObject.SelectResultsClass.__bases__ += (MySelectResult,)
class Person(SQLObject):
name = StringCol(alternateID=True, length=20)
org = StringCol(length=100)
if __name__ == '__main__':
Person.createTable()
u1 = Person(name="joe", org="doe.com")
u2 = Person(name="alice", org="foo.com")
u3 = Person(name="bob", org="foo.com")
pl = Person.select(AND(Person.q.name == 'joe',
Person.q.org == 'foo.com'))
if pl:
print "Records found:"
for p in pl:
print p.name
else:
print "No records found."
Without my custom __nonzero__ method bool(pl) will yield True even
though list(pl) == []
Chris
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
sqlobject-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss