我有我的models.py
:
class Hotel(models.Model):
name = models.CharField(max_length=20)
currency = models.ForeignKey(Currency)
class Currency(models.Mode):
code = models.CharField(max_length=3)
name = models.CharField(max_length=10)
每当currency
酒店领域发生变化时,我都需要能够做点什么。所以我有一个类似的功能:
@receiver(pre_save,sender=Hotel)
def update_something(sender,**kwargs)
obj = kwargs['instance']
old_object = Hotel.objects.get(pk=obj.pk)
'''
Now I can do anything here comparing the oldo object with the instance
'''
问题是我不想对此进行查询,因为那时信号的目的变得愚蠢,我变得愚蠢。
所以我应该能够做类似的事情:
updated = kwargs['update_fields']
new_currency = updated['currency']
他们是一种方式,我可以找出仅针对一个特定字段的更改currency
,而不是进行这样的查询。我想currency
在保存之前获取与外键相关的更改并更新内容。
对不起,我的英语不好,不能使用太专业的术语。
谢谢 :)