Hello list...

I wrote a couple of days ago about how to model an structure of three
classes 
(http://groups.google.com/group/sqlalchemy/browse_thread/thread/5ba5c4ad16f789d6#).
I thing I almost have it, but I am still getting problems mapping an
structure like this.

class Child(rdb.Model):
        def __init__(self):
                self.field1 = “hello world”

class Parent(rdb.Model):
        def __init__(self):
                self.child1 = Child()
                self.child2 = Child()

The “Parent” class has two different instances of a Child() class. I
am not even sure about how to treat this (two different 1:1
relationships or a 1:2 relationship).

My last try is this mapping:

(don't let the rdb.Model thing fool you, is just something that
automatically maps the class to the table specified in rdb.tablename).

class Child(rdb.Model):
        rdb.metadata(metadata)
        rdb.tablename("children_table")
        id = Column("id", Integer, primary_key=True)
        field1 = Column(“field1”, String(64))   #Irrelevant
        def __init__(self):
                self.field1 = “hello world”

class Parent(rdb.Model):
        rdb.metadata(metadata)
        rdb.tablename("parent_table”)

        id = Column("id", Integer, primary_key=True)
        child1_id = Column("child_1_id", Integer, 
ForeignKey("children_table.id"))
        child2_id = Column("child_2_id", Integer, 
ForeignKey("children_table.id"))

        child1 = relationship(Child,
                primaryjoin = (child1_id=="children_table.id")
        )

        child2 = relationship(Child,
                primaryjoin = (child2_id=="children_table.id")
        )

I have tried (almost) everything. I say “almost” because obviously I
haven't tried the right thing. I keep getting errors that sqlalchemy
can't determine the relationship between the two tables.

It looks very similar to:
http://www.sqlalchemy.org/docs/orm/relationships.html#multiple-relationships-against-the-same-parent-child

but I also understand that maybe I can't get this working that way,
because I am actually putting two ForeignKeys from the same table
(“children_table”) in the parent table. I am not sure how that will
work out, or is correct or what... :-(

Thank you!

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalch...@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to