Hello, I am new to SQLAlchemy and I couldn't find a way to properly associate many to many relation. My environment: python 2.6, SQLAlchemy 0.6.5, Postgres 8.4.5. How do I associate to a already existing row in many to many relation.
################ class Keyword(Base): __tablename__ = 'keywords' id = Column(Integer, primary_key=True, autoincrement=True) name = Column(Unicode, unique=True, nullable=False) description = Column(Unicode, nullable=True) class ImageKeyword(Base): __tablename__ = 'image_keywords image_id = Column(Integer, ForeignKey('images.id', onupdate = 'CASCADE', ondelete = 'CASCADE'), primary_key=True) keyword_id = Column(Integer, ForeignKey('keywords.id', onupdate = 'CASCADE', ondelete = 'CASCADE'), primary_key=True) class Image(Base): __tablename__ = "images" id = Column(Integer, primary_key=True) name = Column(Unicode, unique=True, nullable=False) keywords = relationship(Image, secondary="image_keyword", backref='images') def addKeywords(self, keywords): for keyword in keywords: self.keywords.append(Keyword(name=keyword)) # Add session = Session() i = Image() i.name = "image1" i.addKeyword(['test image', 'first image']) session.add(i) session.commit() i = Image() i.name = "image2" i.addKeyword(['test image']) session.add(i) session.commit() #This will fail because of the unique constraint of Keyword.name # What is the proper way? ######################### Thank you Sujeevan Rasaratnam -- 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.