On May 27, 2009, at 4:25 AM, Denis S. Otkidach wrote:

>
> On 26 май, 20:50, "Michael Bayer" <mike...@zzzcomputing.com> wrote:
>> However, its quite easy to achieve.  Just use this.
>>
>> class LimitingQuery(Query):
>>     def get(self, ident):
>>         return Query.get(self.populate_existing(), ident)
>>
>>     def __iter__(self):
>>         return Query.__iter__(self.private())
>>
>>     @_generative()
>>     def private(self):
>>         crit = (self._entities[0].mapper.class_.public == True)
>>         if self._criterion:
>>             self._criterion &= crit
>>         else:
>>             self._criterion = crit
>>
>> full test case attached.
>
> Thanks a lot! But the test doesn't cover all use-cases. Here is one
> that fails:
>
> count1 = sess.query(Address).count()
> count2 = len(sess.query(Address).all())
> assert count1==count2, '%d!=%d' % (count1, count2)

you'd have to hack .count() as well in a similar fashion.



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to