On Sun, Apr 05, 2009 at 01:02:35PM +0200, Markus W. Barth wrote:
> The value for DateCol is set as a formatted date string
Why? You can set datetime:
class Test(SQLObject):
date = DateCol()
Test.createTable()
t = Test(date=date(2001, 12, 21))
print type(t.date), t.date
t.date = date(2002, 1, 1)
print type(t.date), t.date
Output:
1/Query : CREATE TABLE test (
id INTEGER PRIMARY KEY,
date DATE
)
1/QueryR : CREATE TABLE test (
id INTEGER PRIMARY KEY,
date DATE
)
2/QueryIns: INSERT INTO test (date) VALUES ('2001-12-21')
2/QueryR : INSERT INTO test (date) VALUES ('2001-12-21')
3/QueryOne: SELECT date FROM test WHERE ((test.id) = (1))
3/QueryR : SELECT date FROM test WHERE ((test.id) = (1))
<type 'datetime.date'> 2001-12-21
4/Query : UPDATE test SET date = ('2002-01-01') WHERE id = (1)
4/QueryR : UPDATE test SET date = ('2002-01-01') WHERE id = (1)
<type 'datetime.date'> 2002-01-01
> In the docs it also says that
> it's _usually_ returned as these data types. Does this depend on the used db
> and is it predictable
The docs is a bit outdated. That part of the docs was written before
DateCol got stable validator/converter. Now with the converter the returned
value must always be datetime/mxDateTime.
Oleg.
--
Oleg Broytmann http://phd.pp.ru/ [email protected]
Programmers don't die, they just GOSUB without RETURN.
------------------------------------------------------------------------------
_______________________________________________
sqlobject-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss