Я хочу запросить и отфильтровать по hybrid_property
. Я понимаю, что мне нужно использовать expression
, но у меня возникают проблемы с поиском способа выполнить sh, когда hybrid_property
вызывает другую функцию Python без SQL эквивалента.
Рассмотрим следующую настройку:
def some_encoding_function(some_bytes):
### do some encoding here (for example, base64)
return some_string
class User:
__tablename__ = "Users"
ID = Column(Integer, primary_key = True)
Name = Column(String, nullable = False)
_Identifier = Column(sqlalchemy.types.BINARY, nullable = False)
@hybrid_property
def Identifier(self):
return some_encoding_function(self._Identifier)
@Identifier.expression
def Indentifier(cls):
### NEED HELP HERE!
Мой hybrid_property
и кодировщик работают как нужно, но мои попытки запроса и фильтрации по Identifier
не сработали. Я попытался определить выражение как
@Identifier.expression
def Indentifier(cls):
return some_encoding_function(cls._Identifier)
, но это приводит только к ошибкам в функции кодирования.