gpt4 book ai didi

具有多表继承的父类上的Django post_save信号

转载 作者:行者123 更新时间:2023-12-04 16:29:23 26 4
gpt4 key购买 nike

在 Django 中,如果您有使用多表继承的模型,并且您在父类上为 post_save 信号定义了一个接收器,那么在保存子类的实例时会调用该接收器函数吗?

借用例子from another question :

class Animal(models.Model):
category = models.CharField(max_length=20)

class Dog(Animal):
color = models.CharField(max_length=10)

def echo_category(sender, **kwargs):
print "category: '%s'" % kwargs['instance'].category

post_save.connect(echo_category, sender=Animal)

如果我做:
>>> dog = Dog.objects.get(...)
>>> dog.category = "canine"
>>> dog.save()

请问 echo_category接收器函数被调用?

最佳答案

post_save.connect(my_handler, ParentClass)
# connect all subclasses of base content item too
for subclass in ParentClass.__subclasses__():
post_save.connect(my_handler, subclass)

祝你今天过得愉快!

关于具有多表继承的父类上的Django post_save信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14758250/

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