我有一个hybrid_property,它执行一些条件并返回一个响应。我希望能够查询这个字段,因此我创建了一个expression。但是,我不确定如何为这种用例编写条件。
如何根据条件的结果编写将两个字段之一乘以另一个字段的表达式?
@hybrid_property
def func(self):
if self.some_column is True:
return self.true_column * self.amount
return self.false_column * self.amount
@func.expression
def func(cls):
# ???
return发布于 2015-12-11 18:03:37
您可以使用案例表达式
from sqlalchemy import case
@func.expression
def func(cls):
return case(
[
(cls.some_column == True, cls.true_column * cls.amount),
],
else_=cls.false_column * cls.amount
)https://stackoverflow.com/questions/34228471
复制相似问题