sqlalchemy relational mapping

Hallo ich habe eine einfache Frage ich habe 2 Tabellen (Adressen und Benutzer - Benutzer hat eine Adresse, viele Nutzer Leben können, die unter der gleichen Adresse)... ich erstellte eine sqlalchemy Zuordnung wie dieses:
wenn ich meine Sitzung, und versuchen die Abfrage so etwas wie

    class Person(object):
'''
classdocs
'''
 idPerson = Column("idPerson", Integer, primary_key = True)
 name = Column("name", String)
 surname = Column("surname", String)
 idAddress = Column("idAddress", Integer, ForeignKey("pAddress.idAddress"))
 idState = Column("idState", Integer, ForeignKey("pState.idState"))
 Address = relationship(Address, primaryjoin=idAddress==Address.idAddress)

class Address(object):
'''
Class to represent table address object
'''
 idAddress = Column("idAddress", Integer, primary_key=True)
 street = Column("street", String)
 number = Column("number", Integer)
 postcode = Column("postcode", Integer)
 country = Column("country", String) 
 residents = relationship("Person",order_by="desc(Person.surname, Person.name)", primaryjoin="idAddress=Person.idPerson") 




    self.tablePerson = sqlalchemy.Table("pPerson", self.metadata, autoload=True)
    sqlalchemy.orm.mapper(Person, self.tablePerson)
    self.tableAddress = sqlalchemy.Table("pAddress", self.metadata, autoload=True)
    sqlalchemy.orm.mapper(Address, self.tableAddress) 


myaddress = session.query(Address).get(1);
print myaddress.residents[1].name

=> ich bekomme TypeError: 'RelationshipProperty' Objekt unterstützt keine Indizierung

Verstehe ich die Bewohner ist es um die Beziehung zu definieren, aber wie zum Teufel bekomme ich die Liste der Bewohner, dass die angegebene Adresse zugeordnet ist?!
Dank

InformationsquelleAutor kosta5 | 2011-11-28
Schreibe einen Kommentar