On Wed, Aug 12, 2009 at 11:58:38AM +0100, Miguel Tavares wrote:
> Running your example this is the schema on the database:
> CREATE TABLE a (
>     id INTEGER PRIMARY KEY
> );
> CREATE TABLE a1_b1 (
> a_id INT NOT NULL,
> b_id INT NOT NULL
> );
> CREATE TABLE a2_b2 (
> a_id INT NOT NULL,
> b_id INT NOT NULL
> );
> CREATE TABLE b (
>     id INTEGER PRIMARY KEY
> );

   I don't see any problem with the schema.

class A (SQLObject):
    B1 = RelatedJoin ('B', addRemoveName='B1', intermediateTable='a1_b1')
    B2 = RelatedJoin ('B', addRemoveName='B2', intermediateTable='a2_b2')

class B (SQLObject):
    A1 = RelatedJoin ('A', addRemoveName='A1', intermediateTable='a1_b1')
    A2 = RelatedJoin ('A', addRemoveName='A2', intermediateTable='a2_b1')

A.createTable()
B.createTable()

a = A()
b1 = B()
b2 = B()
a.addB1(b1)
a.addB2(b2)
print a.B1
print a.B2

 1/QueryR  :  CREATE TABLE a (
    id INTEGER PRIMARY KEY
)
 2/QueryR  :  CREATE TABLE a1_b1 (
a_id INT NOT NULL,
b_id INT NOT NULL
)
 3/QueryR  :  CREATE TABLE a2_b2 (
a_id INT NOT NULL,
b_id INT NOT NULL
)
 4/QueryR  :  CREATE TABLE b (
    id INTEGER PRIMARY KEY
)
 5/QueryR  :  INSERT INTO a VALUES (NULL)
 6/QueryR  :  SELECT NULL FROM a WHERE ((a.id) = (1))
 7/QueryR  :  INSERT INTO b VALUES (NULL)
 8/QueryR  :  SELECT NULL FROM b WHERE ((b.id) = (1))
 9/QueryR  :  INSERT INTO b VALUES (NULL)
10/QueryR  :  SELECT NULL FROM b WHERE ((b.id) = (2))
11/QueryR  :  INSERT INTO a1_b1 (a_id, b_id) VALUES (1, 1)
12/QueryR  :  INSERT INTO a2_b2 (a_id, b_id) VALUES (1, 2)
13/QueryR  :  SELECT b_id FROM a1_b1 WHERE a_id = (1)
[<B 1 >]
14/QueryR  :  SELECT b_id FROM a2_b2 WHERE a_id = (1)
[<B 2 >]

   Ok?

Oleg.
-- 
     Oleg Broytmann            http://phd.pp.ru/            p...@phd.pp.ru
           Programmers don't die, they just GOSUB without RETURN.

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
sqlobject-discuss mailing list
sqlobject-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss

Reply via email to