SQLAlchemy - не может 'load_only' @property - PullRequest
0 голосов
/ 08 февраля 2019

В SQLAlchemy я не могу понять, как взять объект @property и загрузить его в запрос.Запрос, в который я хочу загрузить его, присоединяется к другой модели.В этом примере «AlbumId» используется в качестве FK в модели «Song».Кроме того, отношение «()» объявляется в модели «Альбом».

Из модели «Альбом»:

_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».Когда я пытаюсь загрузить "Album_1" с помощью load_only, я получаю объект "AttributeError: 'property' не имеет атрибута 'property." "

Из того, что я понимаю , я могу'Загрузка @property вызвана тем, что это свойство существует для класса Python, а не в виде столбца в таблице базы данных.Кроме того, Я не уверен, что этот подход будет работать либо , так как определены отношения FK /.

...