如何在peewee中计算字段?

时间:2017-05-26 18:49:50

标签: python peewee

如何在模型定义中创建计算字段?是否可以在生成的sql查询中执行计算?以下const mapDispatchToProps = { destroyItem: removeItem } 将是我想要实现的peewee模型中的成员。

fruit_difference

1 个答案:

答案 0 :(得分:0)

我认为你需要的是财产。如果您使用Python内置属性,它将在Python中进行评估。如果你想在数据库级别上进行,我想你应该使用Hybrid Property

这是文档中的一个很好的例子:

class Interval(Model):
    start = IntegerField()
    end = IntegerField()

    @hybrid_property
    def length(self):
        return self.end - self.start

    @hybrid_property
    def radius(self):
        return abs(self.length) / 2

    @radius.expression
    def radius(cls):
        return fn.ABS(cls.length) / 2
  

什么是整齐的是半径实现都引用了   长度混合属性!当通过Interval实例访问时,   radius计算将在Python中执行。通过时调用   Interval类,我们将获得相应的SQL。