【发布时间】:2023-03-05 00:25:01
【问题描述】:
寻求帮助时卡住了,我是 python 和 django 的新手。有两个付款对应一个订单,一个 COLLECTION 和多个 TRANSFER,我需要与一个方向为 COLLECTION 的订单相对应的付款,但尚未转移,以便我可以针对该订单启动 TRANSFER
models.py
class Orders(models.Model):
id= models.AutoField(primary_key=True)
payment_gateway_code = models.CharField(max_length=20,choices=[('PAYTM','PAYTM')])
is_active = models.BooleanField(default=True)
class Payments(models.Model):
id = models.AutoField(primary_key=True)
orders = models.ForeignKey(Orders, on_delete=models.CASCADE)
direction = models.CharField(max_length=20,choices=[('COLLECTION','COLLECTION'),
('TRANSFER','TRANSFER')])
settlement_status = models.CharField(max_length=50,blank=True, null=True,choices=[('YES','YES'),
('NO','NO')])
is_active = models.BooleanField(default=True)
qualified_orders = Orders.objects.filter(payment_gateway_code='CASHFREE',
Exists(Payments.objects.filter(order=OuterRef('pk'), direction='COLLECTION',
settlement_status='YES')), ~Exists(Payments.objects.filter(order=OuterRef('pk'),
direction='TRANSFER')))
但上面的查询不起作用
【问题讨论】:
标签: python django django-models django-views orm