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

Reply via email to