python - InvalidRequestError on ManyToMany relation with backref -
i've problem sqlalchemy m2m association. after adding backref relationship association, sqlalchemy throw error.
models:
assoc = table('foo_bars_assoc', db.metadata,      column('foo_id', integer, foreignkey('foo.id')),      column('bar_id', integer, foreignkey('bars.id')),      primarykeyconstraint('foo_id', 'bar_id', name='foo_bar_assoc_pk') )   class foo(db.model):     bars = relationship("bar", secondary="foo_bars_assoc")   class bar(db.model):     value = column(string, unique=true) i created get_or_create util method
def get_or_create(**kwargs):     entity = db.session.query(bar).filter_by(**kwargs).first()     if not entity:         entity = bar(**kwargs)         self.db.session.add(entity)         self.db.session.commit()     return entity let's suppose bars exist:
for i, bar in enumerate(foo.bars):     foo.bars[i] = get_or_create(value=bar.value) that method works well, until add reference m2m relationship.
error:
(psycopg2.integrityerror) duplicate key value violates unique constraint "bar_value_unique" can explain happened here? why after adding backref, sqlalchemy trying make inserts database ?
 
 
Comments
Post a Comment