Python 3.x Django-更新数据库中另一个表上的值
我有两张桌子Python 3.x Django-更新数据库中另一个表上的值,python-3.x,django,filter,foreign-keys,Python 3.x,Django,Filter,Foreign Keys,我有两张桌子 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)
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)
传入值(数据)来自包含付款id的webhookpayment\u确认(event.data.object.id)
。我希望此值与payment.payment\u id(付款表)匹配,然后更新订单。is\u 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\u payment\u id=data”。Dajngo将轻松获取付款id。>使用django shell检查订单。对象。过滤器(付款id=数据)存在