Hello!
On Thu, Oct 26, 2006 at 09:38:29PM +0200, Tormod Ravnanger Landet wrote:
> http://sourceforge.net/tracker/index.php?func=detail&aid=1576143&group_id=74338&atid=540674
I cannot reproduce the problem. The following programs work for me (but
I don't use TurboGears). Can you write a short test that demonstrates your
problem?
Test N1
-------
#! /usr/local/bin/python
from sqlobject import *
from sqlobject.sqlbuilder import *
__connection__ = "sqlite:/:memory:?debug=1"
class Test1(SQLObject):
name = StringCol()
class Test2(SQLObject):
test1 = ForeignKey("Test1")
name = StringCol()
Test1.createTable()
Test2.createTable()
test1 = Test1(name='')
test2 = Test2(test1=test1, name='')
It prints:
1/Query : CREATE TABLE test1 (
id INTEGER PRIMARY KEY,
name TEXT
)
1/QueryR : CREATE TABLE test1 (
id INTEGER PRIMARY KEY,
name TEXT
)
2/Query : CREATE TABLE test2 (
id INTEGER PRIMARY KEY,
test1_id INT CONSTRAINT test1_id_exists REFERENCES test1(id) ,
name TEXT
)
2/QueryR : CREATE TABLE test2 (
id INTEGER PRIMARY KEY,
test1_id INT CONSTRAINT test1_id_exists REFERENCES test1(id) ,
name TEXT
)
3/QueryIns: INSERT INTO test1 (name) VALUES ('')
4/QueryOne: SELECT name FROM test1 WHERE id = (1)
4/QueryR : SELECT name FROM test1 WHERE id = (1)
5/QueryIns: INSERT INTO test2 (test1_id, name) VALUES (1, '')
6/QueryOne: SELECT test1_id, name FROM test2 WHERE id = (1)
6/QueryR : SELECT test1_id, name FROM test2 WHERE id = (1)
Test N2
-------
from sqlobject import *
from sqlobject.sqlbuilder import *
from sqlobject.inheritance import *
__connection__ = "sqlite:/:memory:?debug=1"
class Test1(InheritableSQLObject):
name = StringCol()
class Test2(InheritableSQLObject):
test1 = ForeignKey("Test1")
name = StringCol()
Test1.createTable()
Test2.createTable()
test1 = Test1(name='')
test2 = Test2(test1=test1, name='')
It prints:
1/Query : CREATE TABLE test1 (
id INTEGER PRIMARY KEY,
child_name VARCHAR(255),
name TEXT
)
1/QueryR : CREATE TABLE test1 (
id INTEGER PRIMARY KEY,
child_name VARCHAR(255),
name TEXT
)
2/Query : CREATE TABLE test2 (
id INTEGER PRIMARY KEY,
child_name VARCHAR(255),
test1_id INT CONSTRAINT test1_id_exists REFERENCES test1(id) ,
name TEXT
)
2/QueryR : CREATE TABLE test2 (
id INTEGER PRIMARY KEY,
child_name VARCHAR(255),
test1_id INT CONSTRAINT test1_id_exists REFERENCES test1(id) ,
name TEXT
)
3/QueryIns: INSERT INTO test1 (name, child_name) VALUES ('', NULL)
4/QueryOne: SELECT child_name, name FROM test1 WHERE id = (1)
4/QueryR : SELECT child_name, name FROM test1 WHERE id = (1)
5/QueryIns: INSERT INTO test2 (test1_id, name, child_name) VALUES (1, '',
NULL)
6/QueryOne: SELECT child_name, test1_id, name FROM test2 WHERE id = (1)
6/QueryR : SELECT child_name, test1_id, name FROM test2 WHERE id = (1)
Oleg.
--
Oleg Broytmann http://phd.pp.ru/ [EMAIL PROTECTED]
Programmers don't die, they just GOSUB without RETURN.
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
sqlobject-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss