我有一个 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
最佳答案
你可以使用case表达
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
)
关于python - hybrid_property 表达式中的 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34228471/