Lor*_*ein 5 django django-models multi-table-inheritance
在Django中,如果您有使用多表继承的模型,并且您在父类上为post_save信号定义了一个接收器,那么在保存子类的实例时是否会调用该接收函数?
借用另一个问题的例子:
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)
Run Code Online (Sandbox Code Playgroud)
如果我做:
>>> dog = Dog.objects.get(...)
>>> dog.category = "canine"
>>> dog.save()
Run Code Online (Sandbox Code Playgroud)
将echo_category接收函数被调用?
scy*_*gon 14
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)
Run Code Online (Sandbox Code Playgroud)
祝你今天愉快!
| 归档时间: |
|
| 查看次数: |
2304 次 |
| 最近记录: |