如何在模型中存储局部变量?

2024-03-29 12:50:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个模型:

class IceCream(db.Model):
    flavor = db.Column(db.Integer, default=2)

    licks = 0

    def update_licks(self):
        self.licks += 1

我的目标是让一些变量存储在数据库中,而其他变量则不存储在数据库中。但是,每次加载对象时,licks都会一直重置为0。如何修复此问题,使变量在服务器运行时不会重置?你知道吗


Tags: 模型self数据库defaultdbmodeldefupdate
1条回答
网友
1楼 · 发布于 2024-03-29 12:50:41

您要寻找的是一个静态变量,它不会在每次创建新对象时都被创建。您确实创建了一个静态变量。但是,问题是您在编写self.licks时创建了一个实例变量。现在有两个变量,一个是名为licks的静态变量,可以通过IceCream.licks访问,另一个是实例变量,可以通过对象内部的self.licks访问。因此,如何修复它是修改您的代码如下

class IceCream(db.Model):
    flavor = db.Column(db.Integer, default=2)

    licks = 0

    def update_licks(self):
        IceCream.licks += 1

相关问题 更多 >