私はSyncEntitiesクラスを持っています(下記参照)。SQLAlchemyでは、どのように動的関係を作成しますか?
SyncEntitiesクラスに関連する他のいくつかのクラス(以下に示す商品タイプなど)があります。
私の基本サブクラスのすべてはuuidKey = Column(String, primary_key=True)
このコラムを持っているSEがSyncEntitiesのインスタンスであると仮定します。 se.entityKindは、Baseサブクラスの名前です。
se.entityKindクラスのse.uuidKeyフィルタリング対象のオブジェクトをクエリするにはどうすればよいですか?
class SyncEntities(Base):
__tablename__ = 'SyncEntities'
uuidKey = Column(String, primary_key=True)
dateCreated = Column(DateTime, index=True)
dateModified = Column(DateTime, index=True)
dateSynced = Column(DateTime, index=True)
username = Column(String)
entityKind = Column(String)
deleted = Column(Boolean)
def __init__(self, entity, security):
self.uuidKey = newUUID()
self.dateCreated = security.now
self.dateModified = security.now
self.dateSynced = security.then
self.username = security.username
self.entityKind = entity.__tablename__
self.deleted = False
def modified(self, security):
self.dateModified = security.now
self.username = security.username
class CommodityTypes(Base):
__tablename__ = 'CommodityTypes'
uuidKey = Column(String, ForeignKey('SyncEntities.uuidKey'), primary_key=True)
myName = Column(String, unique = True)
sortKey = Column(Integer, unique = True)
mySyncEntity = relationship("SyncEntities")
def __init__(self, security, myName, sortKey):
self.syncEntity = SyncEntities(self, security)
self.uuidKey = self.syncEntity.uuidKey
self.myName = myName
self.sortKey = sortKey