У меня есть таблица с уравнением столбца, в этом столбце я храню математическое уравнение типа x+12-25+z**2
, x*z-12
, et c. для каждой строки это разное уравнение, и я хочу отсортировать свою таблицу по выходным данным уравнения. X и Z - некоторые python переменные, вы можете думать о них как numpy.array
. Переменные обновляются каждые 15-30 минут.
Моя таблица выглядит следующим образом
class Table(Base):
....
equation = Column(String(1024))
Я вычисляю уравнения в python по моей функции calculate_equation(string)
, она заботится о размещении всех переменных и выполнении математических операций, а также возвращает только 1 число.
Я пытался с hybrid_property
, который выглядит следующим образом:
@hybrid_property
def equation_value(self):
return calculate_equation(self.equation)
И сортировать его с помощью:
session.query(Table).order_by(Table.equation_value).all()
Но он выдает ошибки. Любые советы, как это сделать? Это даже правильно? Должен ли я использовать другой механизм хранения данных?
Предложения приветствуются.