On second thought, it's nothing to do with SA, and just a python
feature that I am not familiar with. The idiom of clause construction,
and passing arguments using the *list is new to me. And most of my
Google queries were prefixed with sqlalchemy, and in retrospect, that
was hurting more than helping.

Thanks agian,
-T

On Mar 31, 4:36 pm, Tejaswi <nadaha...@gmail.com> wrote:
> @Conor: This might be what I am looking for. I cannot try it right
> now, but will reply to this thread in 3-4 hours.
>
> Can you please point me to the documentation that discusses the
> different ways of constructing select statements, where clauses, etc.
> I have not seen the generative way before. I tried really hard on
> Google, this forum specifically, stackoverflow, etc. The API
> documentation is sufficient, I am sure; but is not "tutorial" like.
>
> Thanks again. This is greatly appreciated.
>
> -T
>
> On Mar 31, 4:10 pm, Conor <conor.edward.da...@gmail.com> wrote:
>
>
>
> > Tejaswi wrote:
> > > I am not using sa.orm. I want to use only the sql expression syntax.
>
> > > @Conor: I tried the dict approach. The problem is, I don't know how
> > > many key value pairs I will have. I will have to use a map, or map* to
> > > construct the full set of where clauses. This is the syntax I am not
> > > able to figure out.
>
> > How about this:
>
> > clauses = [meta.c[key] == value for (key, value) in dict.iteritems()]
> > select([table], and_(*clauses))
>
> > or, generatively:
>
> > s = select([table])
> > for (key, value) in dict.iteritems():
> >     s = s.where(meta.c[key] == value)
>
> > -Conor
>
> > > On Mar 31, 10:39 am, werner <wbru...@free.fr> wrote:
>
> > >> On 31/03/2010 08:19, Tejaswi wrote:
>
> > >>> I have a dict of keys to values which have to go into my where clause
> > >>> with an and_.
>
> > >>> Say dict = {"key1": value1, "key2": value2}
>
> > >>> my select statement should look like select * from blah where key1 =
> > >>> value1 and key2 = value2
>
> > >>> I know this has to do with constructing the right where clause
> > >>> element, but I cannot seem to find documentation on it.
>
> > >>> select([table], meta.c.<columnname>  == value) doesn't take a variable
> > >>> key.
>
> > >>> Any help would be greatly appreciated.
>
> > >> Are you using SA.orm?
>
> > >> If yes, then you probably want to look at query.Query.filter  and/or
> > >> query.Query.filter_by.
>
> > >> Werner

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalch...@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