Hmm, I already tried that but as far as I know SQLAlchemy doesn't 
automatically join in queries. So Job.dependencies doesn't work in a query 
if I didn't do something wrong.

Am Donnerstag, 17. April 2014 15:33:48 UTC+2 schrieb Michael Bayer:
>
> this is a bit of a brain teaser because I don’t know LINQ and we don’t 
> have an “all()” operator.   Spent a few minutes trying to guess what the 
> heck “all()” would query for; in SQL, it’s very easy to check if a 
> collection contains some elements with some kind of criteria…but “all”, I 
> thought, how can you ever know that there’s not another row somewhere that 
> isn’t in the”all”, which gave me the “duh” moment.    for all() you need to 
> check that there are “not any” of the *opposite* - e.g. no rows exist that 
> don’t match that criteria.   We could add this operator really easily.
>
> But for now
>
> query(Job).filter(Job.status == 
> ‘queued’).filter(~Job.dependencies.any(Dependency.status != ‘done’))
>
>
>
> On Apr 17, 2014, at 8:51 AM, Maik Riechert <maik.r...@arcor.de<javascript:>> 
> wrote:
>
> Hi everyone,
>
> I am really lost on a query I try to formulate. In LINQ it would probably 
> like that (haven't done LINQ in quite some time):
>
> from j in Job
> where j.status == 'queued' and j.dependencies.all(d => d.status == 'done')
> select j
>
> So, Job.dependencies is a self-referential many-to-many association which 
> describes dependencies between processing jobs. And now I try to find those 
> queued jobs whose dependencies are finished.
>
> I'm brand new to sqlalchemy, I appreciate any help :)
>
> Thanks
> Maik
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "sqlalchemy" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sqlalchemy+...@googlegroups.com <javascript:>.
> To post to this group, send email to sqlal...@googlegroups.com<javascript:>
> .
> Visit this group at http://groups.google.com/group/sqlalchemy.
> For more options, visit https://groups.google.com/d/optout.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to