微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Django - 在另一个表上更新数据库中的值

如何解决Django - 在另一个表上更新数据库中的值

我有两张桌子

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。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。