我正在努力尝试找出 post_save 函数返回的原因:
Exception Type: RuntimeError
Exception Value: maximum recursion depth exceeded
这是我的代码:
#post save functions of the order
def orderPs(sender, instance=False, **kwargs):
if instance.reference is None:
instance.reference = str(friendly_id.encode(instance.id))
#now update the amounts from the order items
total = 0
tax = 0
#oi = OrderItem.objects.filter(order=instance)
#for i in oi.all():
# total += i.total
# tax += i.total_tax
instance.total = total
instance.tax = tax
instance.save()
#connect signal
post_save.connect(orderPs, sender=Order)
我现在已经注释掉了订单项目代码。
instance.total 和 instance.tax 是模型十进制字段。
似乎 post_save 函数处于无限循环中,不知道为什么我对所有 post_save 函数都使用了相同的格式。
有任何想法吗?