Django 1.2:如何将pre_save信号连接到类方法
问题内容:
我试图在我的django 1.2项目中的某些类中定义一个“ before_save”方法。我在将信号连接到models.py中的class方法时遇到麻烦。
class MyClass(models.Model):
....
def before_save(self, sender, instance, *args, **kwargs):
self.test_field = "It worked"
我尝试将pre_save.connect(before_save,sender =’self’)放入’MyClass’本身,但是什么也没发生。
我也尝试将其放在models.py文件的底部:
pre_save.connect(MyClass.before_save, sender=MyClass)
我在这里阅读了有关将信号连接到类方法的信息,但无法弄清楚代码。
有人知道我在做什么错吗?
问题答案:
不应在MyClass上使用方法,而应使用函数。就像是:
def before_save(sender, instance, *args, **kwargs):
instance.test_field = "It worked"
pre_save.connect(before_save, sender=MyClass)