gpt4 book ai didi

python - Django 1.2 : How to connect pre_save signal to class method

转载 作者:太空狗 更新时间:2023-10-29 21:37:55 28 4
gpt4 key购买 nike

我试图在我的 django 1.2 项目的某些类中定义一个“before_save”方法。我在将信号连接到 models.py 中的类方法时遇到问题。

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)

我读到有关将信号连接到类方法的信息 here , 但无法找出代码。

有人知道我做错了什么吗?

最佳答案

classmethod 的工作示例:

class MyClass(models.Model):
#....
@classmethod
def before_save(cls, sender, instance, *args, **kwargs):
instance.test_field = "It worked"

pre_save.connect(MyClass.before_save, sender=MyClass)

还有一个很棒的装饰器可以自动处理信号连接:http://djangosnippets.org/snippets/2124/

关于python - Django 1.2 : How to connect pre_save signal to class method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10904799/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com