Я очень новичок в SQLAlchemcy.Может ли кто-нибудь помочь мне понять, как обновить дополнительные данные или удалить всю строку в таблице сопоставлений.
Приведенный ниже код непосредственно взят из документации по SQLAlchemy.
class Association(Base):
__tablename__ = 'association'
left_id = Column(Integer, ForeignKey('left.id'), primary_key=True)
right_id = Column(Integer, ForeignKey('right.id'), primary_key=True)
extra_data = Column(String(50))
child = relationship("Child", back_populates="parents")
parent = relationship("Parent", back_populates="children")
class Parent(Base):
__tablename__ = 'left'
id = Column(Integer, primary_key=True)
children = relationship("Association", back_populates="parent")
class Child(Base):
__tablename__ = 'right'
id = Column(Integer, primary_key=True)
parents = relationship("Association", back_populates="child")
# create parent, append a child via association
p = Parent()
a = Association(extra_data="some data")
a.child = Child()
p.children.append(a)
# iterate through child objects via association, including association
# attributes
for assoc in p.children:
print(assoc.extra_data)
print(assoc.child)
Теперь,Я знаю, как добавить данные в таблицу сопоставлений с помощью приведенного выше кода, но, возможно, некоторые из них помогут мне понять, как удалить / обновить строку.Я попробовал следующий код, но получаю сообщение об ошибке.
p.children.remove(a)
#error is
Dependency rule tried to blank-out primary key column 'association.left_id'
Заранее спасибо.