我知道这也许是个愚蠢的问题,但我还没有找到解决办法。
我有一个Django模型类,它有一些默认属性,我想通过调用一个函数来更改完整变量的值:
class Goal(models.Model):
text = models.CharField(max_length=500)
date = models.DateTimeField(auto_now=True)
complete = False
def set_complete_true():
complete = True
但是在调用set_complete_true()之后,complete变量仍然为False,不会改变。
提前谢谢!
最佳答案
实例函数(大多数函数都是实例函数)有一个特殊的参数,它总是第一个被称为self
。它是对调用函数的对象的引用。例如,如果调用some_instance.foo()
,则使用asfoo
调用self
。
因此,您需要添加some_instance
参数,并将self
设置为self.complete
:
class Goal(models.Model):
text = models.CharField(max_length=500)
date = models.DateTimeField(auto_now=True)
complete = False
def set_complete_true(self):
self.complete = True
关于python - 如何使用方法更改类属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50392787/