내 데이터베이스 구조는이 같은 (I 선언적 스타일을 사용하고 있습니다)입니다 오브젝트 :SQLAlchemy의 폭포와 협회는
class Character(Base):
__tablename__="characters"
id = Column(Integer, primary_key=True)
name = Column(String)
player = Column(String)
inventory = relation(Inventory)
class Item(Base):
__tablename__="items"
id = Column(Integer, primary_key=True)
name = Column(String)
class Inventory(Base):
__tablename__="inventory"
id = Column(Integer, primary_key=True)
char_id = Column(Integer, ForeignKey("characters.id"))
item_id = Column(Integer, ForeignKey("characters.id"))
quantity = Column(Integer)
item = relation(Item)
내 문제는 내가 "Character.inventory"이에서 "재고"개체를 제거 할 때 세션이 커밋 될 때까지 업데이트되지 않습니다. 예를 들어 :
>>> torch_inv=character.inventory[0] # Inventory object referred to a torch
>>> torch_inv.item, torch_inv.quantity
(<Item object, torch>, 3)
>>> session.delete(torch_inv)
>>> character.inventory[0]
<Inventory object, torch>
내가 거기 관계 옵션 "폭포"하지만 내가이 사건에서 작업 할 수있는 방법을 찾을 수없는 것을 보았다.
('item_id'는'characters.id'를 참조합니까?) – bobince