0
內我目前正在與一些舊代碼看起來如下工作:創建在第一的實例第二種模式sqlachemy
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Unicode
from sqlalchemy.dialects.postgresql import ARRAY, TEXT
Base = declarative_base()
class Book(Base):
__tablename__ = 'book'
id = Column(Integer, primary_key=True)
title = Column(Unicode)
keywords = Column('keywords', ARRAY(TEXT), primary_key=False)
關鍵字,目前正在保持一個數組,但我想變平這一點,讓他們在自己單獨的模型
class Keyword():
__tablename__ = 'keyword'
id = Column(Integer, primary_key=True)
book_id = Column(Integer, ForeignKey('book.id', ondelete='cascade'),
nullable=False)
keyword = Column(Unicode)
我怎樣才能使,使得產生一書()的時候,它還會創建 伴隨的關鍵字?作爲遷移API的中間步驟,我想保留當前的數組列,但也要創建相應的Keyword()實例。
我可以在__init__
方法中做到這一點,但需要知道當前Session()是什麼,才能運行提交。我也可以使用property
屬性,附加到keywords
,但我不確定這是如何工作的,因爲我正在使用從SQLAlchemy的基礎繼承的類,而不是使用我定義的常規類。什麼是正確的方法來做到這一點?