How could i guess the proper aliased column name then? In your example your table is "specie" and column name is "codice", so you used "specie_codice=42". but as i said i have joins and longer column names, so sometimes i get like "table1.somelongcolumn AS table1_somelong_7".
On Monday, January 12, 2015 at 3:09:22 PM UTC+3:30, jo wrote: > > Why don't you pass the params to session.query as a dictionary into > filter_by as in: > > In [1]: by_where_clause=dict(specie_codice='42', > specie_descrizione='Nutrie') > > In [2]: print session.query(Specie).filter_by( **by_where_clause ).count() > > 2015-01-12 12:37:40,518 INFO sqlalchemy.engine.base.Engine SELECT count(*) > AS count_1 > FROM (SELECT specie.codice AS specie_codice, specie.descrizione AS > specie_descrizione, specie.cod_gruppo_specie AS specie_cod_gruppo_specie, > specie.categoria_prodotto AS specie_categoria_prodotto, specie.interparto > AS specie_interparto, specie.gestazione AS specie_gestazione, > specie.codice_bdn AS specie_codice_bdn > FROM specie > WHERE specie.codice = %(codice_1)s AND specie.descrizione = > %(descrizione_1)s) AS anon_1 > 2015-01-12 12:37:40,518 INFO sqlalchemy.engine.base.Engine {'codice_1': > '42', 'descrizione_1': 'Nutrie'} > 1 > > In [3]: > > > j > > > On 01/12/2015 11:45 AM, Mehdi wrote: > > Hi > I want to make a query with given filters received from client side. > client side sends a json array like this: > [ > "0DA": {conditionType: null, column: "serialNumber", operator: > "GREATER_THAN", value: 50}, > "1DG": {conditionType: "AND", column: "name", operator: "EQUAL", value > : "john" } > ] > > I've managed to convert the json array into string query with a template > like this: > " {condition_type} {column} {operator} {value} " > > But this is only the "WHERE" clause. for complete query i use > session.query(myModel) > which myModel has two relationships with lazy="joined" mix with text() for > filters: > session.query(myModel).filter(text(sql_string)) > > But the problem is the session.query() uses alias column names(with "AS" > keyword) which my filter part with exact column names couln'd find those > aliased columns. > So Is there a way to tell session.query() use the exact column names? or i > should change my way? > Thanks. > > > -- > 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.