[sqlalchemy] Re: Searching in all fields

2008-06-27 Thread Bobby Impollonia

If you do them as double percent signs ( '%%') then the python string
formatting will replace them with single percent signs.

On Fri, Jun 27, 2008 at 9:12 AM, [EMAIL PROTECTED]
[EMAIL PROTECTED] wrote:

 Hi.

 I want to do robust algorithm for searching in tables...the simplest
 example is with table with no relations:

 stmt = u'SELECT * FROM '
 stmt += str(b.clients.name)
 stmt += ' WHERE '
 for c in b.Client.c:
  stmt += str(c)+' like \'%value%\' or '

 clients = session.query(Client).from_statement(stmt).all()

 There is one big problem using the '%' sign, because python is using
 it to replace values in string like:
 'Welcom %s to my site' % 'john'

 Afterwards I want to search in tables with relations, like:

 session.query(Client).add_entity(Address)..

 Can anyone help me with this problem?
 What is the sqlalchemy way to make multisearch ??

 Thx in advance
 m_ax
 


--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~--~~~~--~~--~--~---



[sqlalchemy] Re: Searching in all fields

2008-06-27 Thread az

what is multisearch? sort of patternmatching?
http://www.sqlalchemy.org/docs/05/ormtutorial.html#datamapping_querying_common

query(A).filter( or_(
A.c1.startswith(), 
A.c2.endswith(),
A.c3.like('%alabal%'),
...
  ))
u can generate the arguments of or_(...)
 
On Friday 27 June 2008 16:12:57 [EMAIL PROTECTED] wrote:
 Hi.

 I want to do robust algorithm for searching in tables...the
 simplest example is with table with no relations:

 stmt = u'SELECT * FROM '
 stmt += str(b.clients.name)
 stmt += ' WHERE '
 for c in b.Client.c:
   stmt += str(c)+' like \'%value%\' or '

 clients = session.query(Client).from_statement(stmt).all()

 There is one big problem using the '%' sign, because python is
 using it to replace values in string like:
 'Welcom %s to my site' % 'john'

 Afterwards I want to search in tables with relations, like:

 session.query(Client).add_entity(Address)..

 Can anyone help me with this problem?
 What is the sqlalchemy way to make multisearch ??

 Thx in advance
 m_ax
 


--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~--~~~~--~~--~--~---



[sqlalchemy] Re: Searching in all fields

2008-06-27 Thread [EMAIL PROTECTED]

1)
multisearch... I meant, that i want to create piece of code, that
will automaticly search in all columns of a table
So if I can use this function (or whatever it will be) for different
tables with no change..
for example:
I have a client(table) with address(related table one-to-one) and
persons(related table one-to-many) and make:
clients = my_function(clients_table, 'anna')
to return me all clients from database, 'anna' works in

2)
How can I generate the fields in or_() statement??

thx

On Jun 27, 3:41 pm, [EMAIL PROTECTED] wrote:
 what is multisearch? sort of 
 patternmatching?http://www.sqlalchemy.org/docs/05/ormtutorial.html#datamapping_queryi...

 query(A).filter( or_(
 A.c1.startswith(),
 A.c2.endswith(),
 A.c3.like('%alabal%'),
 ...
   ))
 u can generate the arguments of or_(...)

 On Friday 27 June 2008 16:12:57 [EMAIL PROTECTED] wrote:

  Hi.

  I want to do robust algorithm for searching in tables...the
  simplest example is with table with no relations:

  stmt = u'SELECT * FROM '
  stmt += str(b.clients.name)
  stmt += ' WHERE '
  for c in b.Client.c:
stmt += str(c)+' like \'%value%\' or '

  clients = session.query(Client).from_statement(stmt).all()

  There is one big problem using the '%' sign, because python is
  using it to replace values in string like:
  'Welcom %s to my site' % 'john'

  Afterwards I want to search in tables with relations, like:

  session.query(Client).add_entity(Address)..

  Can anyone help me with this problem?
  What is the sqlalchemy way to make multisearch ??

  Thx in advance
  m_ax
--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~--~~~~--~~--~--~---



[sqlalchemy] Re: Searching in all fields

2008-06-27 Thread az

On Friday 27 June 2008 16:55:22 [EMAIL PROTECTED] wrote:
 1)
 multisearch... I meant, that i want to create piece of code, that
 will automaticly search in all columns of a table
 So if I can use this function (or whatever it will be) for
 different tables with no change..
 for example:
 I have a client(table) with address(related table one-to-one) and
 persons(related table one-to-many) and make:
 clients = my_function(clients_table, 'anna')
 to return me all clients from database, 'anna' works in
thats quite a wide search - any column in any relation contains 'anna' 
or what?

 2)
 How can I generate the fields in or_() statement??
for prop in class_mapper(yourclas).iterate_properties:
  ...
are all mapped props.
u may do some filtering, are they plain columns - 
isinstance(orm.properties.ColumnProperty), or relations - 
isinstance(orm.properties.PropertyLoader), and on relations, use 
prop.uselist to distinguish references from collections

 On Jun 27, 3:41 pm, [EMAIL PROTECTED] wrote:
  what is multisearch? sort of
  patternmatching?http://www.sqlalchemy.org/docs/05/ormtutorial.htm
 l#datamapping_queryi...
 
  query(A).filter( or_(
  A.c1.startswith(),
  A.c2.endswith(),
  A.c3.like('%alabal%'),
  ...
))
  u can generate the arguments of or_(...)
 
  On Friday 27 June 2008 16:12:57 [EMAIL PROTECTED] wrote:
   Hi.
  
   I want to do robust algorithm for searching in tables...the
   simplest example is with table with no relations:
  
   stmt = u'SELECT * FROM '
   stmt += str(b.clients.name)
   stmt += ' WHERE '
   for c in b.Client.c:
 stmt += str(c)+' like \'%value%\' or '
  
   clients = session.query(Client).from_statement(stmt).all()
  
   There is one big problem using the '%' sign, because python is
   using it to replace values in string like:
   'Welcom %s to my site' % 'john'
  
   Afterwards I want to search in tables with relations, like:
  
   session.query(Client).add_entity(Address)..
  
   Can anyone help me with this problem?
   What is the sqlalchemy way to make multisearch ??
  
   Thx in advance
   m_ax

 


--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~--~~~~--~~--~--~---