Hello, I am trying to use SQLAlchemy to map a database that was made available to me, whose contents and schema cannot be altered. The database has a few cases where a many-to-one relationship is treated as a many-to-many - that is, instead of the child key being set directly onto the parent record, the relationship is mapped through an association table. So in the mapping it looks like this:
vname_association = Table('VNameFactoid', Base.metadata, Column('vnameKey', Integer, ForeignKey('VariantName.vnameKey')), Column('factoidKey', Integer, ForeignKey('Factoid.factoidKey'))) class Factoid(Base): __tablename__ = 'Factoid' tstamp = Column(Time) engDesc = Column(Text) origLDesc = Column(Text) factoidKey = Column(Integer, primary_key=True) vnameInfo = relationship("VariantName", secondary=vname_association, backref="factoidData") class VariantName(Base): __tablename__ = 'VariantName' tstamp = Column(Time) vnameKey = Column(Integer, primary_key=True) name = Column(String) This means that I can get at the variant name information from the factoid by saying my_variant_name = some_factoid.vnameInfo[0].name But it would be much nicer if I could dispense with that [0], since I know that there will never be more than one record returned in the list. Is there something I can do to be able to say this? my_variant_name = some_factoid.vnameInfo.name Best, -tara -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at http://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.