我有一个模特:
class IceCream(db.Model):
flavor = db.Column(db.Integer, default=2)
licks = 0
def update_licks(self):
self.licks += 1
我的目标是我有一些存储在数据库中的变量,以及其他不存在的变量。但是,每次加载对象时,licks都会重置为0。如何修复此问题,以便在服务器运行时变量不会重置?
答案 0 :(得分:1)
您要查找的是一个静态变量,每次创建新对象时都不会创建该变量。你确实创建了一个静态变量。但是,问题是您在编写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