Re: [SQLObject] Re: SQLObject Oracle connector
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
From: Ian B. <ia...@co...> - 2005-02-28 16:53:53
|
Andy Todd wrote: > If you try and handle this yourself, from my experience you'll be in a > world of, errrr, bugs. Take date values for instance, the example I > used above is fine as long as you use the default data format mask, > but to do this properly yourself you'd need to do something like; > > cursor.execute("SELECT * FROM my_table WHERE date_column = > to_date('%s', 'DD-MON-YY')" % sqlrepr(bind_var1)) It's not pretty, but you can generate this; e.g.: def DateConverter(value, db): if db == 'oracle': return OracleSQLDate(value) else: return value.strftime("'%Y-%m-%d'") Right now each database gets inlined in those conversion functions; that would be nice to fix, doing double dispatch on the type of the value and the type of the backend, but that's a separate issue. And then: class OracleSQLDate(object): def __init__(self, date): self.date = date def __sqlrepr__(self, db): assert db == 'oracle' return value.strftime("to_date('%Y-%M-%D', 'YY-MON-DD')") -- Ian Bicking / ia...@co... / http://blog.ianbicking.org |