在SQLAlchemy中,我无法弄清楚如何获取@property对象并将其加载到查询中。我想将其加载到的查询正在加入另一个模型。在此示例中,“歌曲”模型中将“ AlbumId”用作FK。另外,在“相册”模型中声明了“ relationship()”。
来自“专辑”模型:
_Album = app.db.Column("Album", app.db.String(150))
@hybrid_property
def Album(self):
return self._Album
@Album.setter
def Album(self, Album):
self._Album = val_out
@property
def Album_1(self):
return self._getStuffForAlbum_1(self.Album)
def _getAlbumText(self, val_in):
return val_out
来自SongService.py:
songs = app.db.session.query(self.Model, Album).join(Album).options(Load(Album).load_only('Artist','Year'))
在'load_only'内,我可以加载'@hybrid_property',但我不知道要加载'@property'。当我尝试用'load_only'加载“ Album_1”时,我收到一个“ AttributeError:'property'对象没有属性'property'。”
From what I understand,我无法加载'@property'是因为它是Python类存在的属性,而不是数据库表中的列。另外,I'm not sure this approach would work either因为定义了FK /关系。