我正在使用Django 2.x
我有一个模型 TransactionLog ,该模型记录了给定和更新的金额。 每次给出金额时,都会在 AmountGiven 模型中创建一条新记录,因此将创建一个具有给出操作的日志,如果更新了较早的给定金额,它将记录动作已更新。
@receiver(post_save, sender=AmountGiven)
def amount_given_post_save_receiver(sender, instance, created, **kwargs):
if created:
action = 'given'
else:
action = 'updated'
TransactionLog.objects.create(
user=instance.contact.user,
contact=instance.contact,
amount_given=instance,
amount=instance.amount,
action=action
)
但是即使创建新记录,post save
接收方也会被调用两次或两次以上。然后,一条记录另存为action=given
在 TransactionLog 中,而其他记录则在 TransactionLog 模型中创建action=updated
记录。
如何使它对于每个呼叫都是唯一的?