问题描述
我有两张桌子
class Payment(models.Model):
payment_id = models.CharField(max_length=100)
status = models.CharField(max_length=100)
class Order(models.Model):
payment = models.ForeignKey(Payment,on_delete=models.SET_NULL,blank=True,null=True)
is_ordered = models.BooleanField(default=False)
传入值(数据)来自包含 payment_id 的网络钩子 payment_confirmation(event.data.object.id)
。我希望此值与 Payment.payment_id(付款表)匹配,然后更新 Order.is_ordered=True(订单表)。
我该怎么做?我尝试了以下但没有成功:
Order.objects.filter(payment__payment_id=data).update(is_ordered=True)
另一方面,我可以通过运行来成功更新 Payment.status:
Payment.objects.filter(payment_id=data).update(status='COMPLETED')
谢谢
解决方法
你可以做到这一点
Order.objects.filter(payment_id=data).update(is_ordered=True)
您不需要“payment__payment_id=data”。 Dajngo 将轻松获取 payment_id。