同时更新不同型号的两个字段

时间:2014-05-13 13:11:53

标签: python django parent

我在保持Parent对象的modification_date为最新时遇到问题。我希望家长的modification_date字段与孩子的modification_date字段同时更新。

class Parent(models.Model):
    modification_date = models.DateTimeField(auto_now=True)
    note = models.ManyToManyField('Child')

class Child(models.Model):
    modification_date = models.DateTimeField(auto_now=True)
    content = models.TextField()

我正在使用Django。

1 个答案:

答案 0 :(得分:1)

我会做一个post_save信号函数。因此,每次更新子模型时,它都会触发该功能,您可以更改父模型:

from django.db.models.signals import post_save

# method for updating
def update_parent(sender, instance, **kwargs):
     parent = Parent.object.get() #the parent you need to update
     parent.modification_date = instance.modification_date
     parent.save()

# register the signal
post_save.connect(update_parent, sender=Child)