Hi Robert Forkel, You got it right i am trying to have a combination of expression combined in and_.
I need to add the attribute only when it is not equal to null.So i tried to check if it is not null and then from the expression and pass it to filter .But this does not work. I went through the document but unable to figure out how to do this through sql. Thank you On Thu, Dec 22, 2011 at 12:11 PM, Robert Forkel <xrotw...@googlemail.com>wrote: > You may want to look at the tutorial [1]. In the code you pasted you > are assembling a string to pass to filter. While you can do that (but > then it should be proper sql not python!), what you want to do is > passing a python expression like db.User.age==age, or a combination of > expressions combined using and_, or_, etc. > > [1] > http://www.sqlalchemy.org/docs/orm/tutorial.html#common-filter-operators > > On Thu, Dec 22, 2011 at 6:34 AM, Sana klh <sana.kl...@gmail.com> wrote: > > I am getting the following error > > > > ProgrammingError: (ProgrammingError) (1064, "You have an error in your > SQL > > syntax; check the manual that corresponds to your MySQL server version > for > > the right syntax to use near '== 1,db.User.age==23,d' at line 3") > > > > > > Is there any way by which i can generate dynamic query? > > > > Thank you > > Sana > > > > > > > > On Thu, Dec 22, 2011 at 4:40 AM, Jackson, Cameron > > <cameron.jack...@thalesgroup.com.au> wrote: > >> > >> You might get more help if you provide more details. What error are you > >> getting? > >> > >> -----Original Message----- > >> From: sqlalchemy@googlegroups.com [mailto:sqlalchemy@googlegroups.com] > On > >> Behalf Of Sana > >> Sent: Thursday, 22 December 2011 2:50 AM > >> To: sqlalchemy > >> Subject: [sqlalchemy] SqlAlchemy dynamic query generation > >> > >> Hi All, > >> > >> I am trying to do query based on the user input as follows > >> > >> condition = 'and_(db.User.id == id' > >> if user_name != ' ': > >> condition += ',db.User.name == user_name' > >> elif age != ' ': > >> condition += ',db.User.age == age' > >> elif place != ' ': > >> condition += ',db.User.place == place' > >> > >> where = condition+')' > >> > >> result = db.User.filter(where).all() > >> > >> > >> But Im getting error when i do this. > >> > >> Is there any way by which i can do this > >> > >> > >> Thank you > >> Sana > >> > >> -- > >> 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. > >> > >> > >> > >> > ------------------------------------------------------------------------- > >> DISCLAIMER: This e-mail transmission and any documents, files and > >> previous e-mail messages attached to it are private and confidential. > >> They may contain proprietary or copyright material or information that > >> is subject to legal professional privilege. They are for the use of > >> the intended recipient only. Any unauthorised viewing, use, disclosure, > >> copying, alteration, storage or distribution of, or reliance on, this > >> message is strictly prohibited. No part may be reproduced, adapted or > >> transmitted without the written permission of the owner. If you have > >> received this transmission in error, or are not an authorised recipient, > >> please immediately notify the sender by return email, delete this > >> message and all copies from your e-mail system, and destroy any printed > >> copies. Receipt by anyone other than the intended recipient should not > >> be deemed a waiver of any privilege or protection. Thales Australia > >> does not warrant or represent that this e-mail or any documents, files > >> and previous e-mail messages attached are error or virus free. > >> > >> > ------------------------------------------------------------------------- > >> > >> -- > >> 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. > >> > > > > -- > > 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. > > -- > 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. > > -- 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.