当模型上的特定字段发生变化时,是否可以进行保存?

时间:2018-04-19 08:21:56

标签: django django-models

如果可以根据字段更改进行保存,代码是否会像这样?注意:每次House模型的地址发生变化时,我都希望创建一个Car对象。

def create_car(sender, **kwargs):
    if kwargs['??????']:
        car = Car.objects.filter(user=kwargs['instance'].user)

post_save.connect(create_car, sender=House.address)   

我不确定kwargs会发生什么。 谢谢!

1 个答案:

答案 0 :(得分:2)

您可以比较pre_save信号

中的地址字段
@receiver(signals.pre_save, sender=House)
def create_car(sender, instance, **kwargs):
    try:
        old_instance = sender.objects.get(pk=instance.pk)
    except sender.DoesNotExist:
        return

    if instance.address != old_instance.address:
        car = Car.objects.filter(user=kwargs['instance'].user)
        # todo