美好的一天, 我有一組表格,從中有一些表格有多對一的關係。例如:SQLAlchemy改變關係
class Industry(Base):
__tablename__ = 'industry'
id = Column(Integer, Sequence('industry_id_seq'), nullable=False, unique=True, primary_key=True)
name = Column(String(255), unique=True, nullable=False)
companies = relationship('Company',backref=backref('industry',cascade='delete,all'))
class Company(Base):
__tablename__ = 'company'
id = Column(Integer, Sequence('company_id_seq'), nullable=False, unique=True, primary_key=True)
industry_id = Column(Integer, ForeignKey(Industry.id), nullable=False)
name = Column(String(255), unique=True, nullable=False)
正如您可以看到幾家公司可以屬於同一行業。有沒有人知道在多個公司之間共享該行業的公司對象應該採取什麼樣的程序?顯然,當其他公司對象出現時,我不會觸及行業對象。
你能否詳細說明一下?你的意思是你想從這些公司開始移除一個行業及其所有的兒童公司嗎? –
仍不清楚。你的意思是「移除一家公司」嗎?這只是['session.delete(company_instance)'](http://docs.sqlalchemy.org/en/latest/orm/session_api.html#sqlalchemy.orm.session.Session.delete),它標記了實例被刪除,並且在下次刷新時會發生實際刪除,或者您可以使用[Query.delete](http://docs.sqlalchemy.org/en/latest/orm/query.html#sqlalchemy.orm.query.Query 。刪除)。雖然我相當肯定你在追求更多的東西之後,這個問題很難破譯。 –
我想刪除該公司,但是,由於我在行業層面上有多對一的關係,似乎只能將公司從行業中分離出來並首先安全刪除。我試圖將該行業的指針設置爲Null,然後刪除該公司,但那也不起作用。 – Blade1024