Django左连接模型

2024-09-30 20:24:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我想左连接下表,并在已批准的优惠券字段中添加一个筛选条件。在

我的模型

class Voucher(models.Model):
    voucher_id = models.UUIDField(default=uuid.uuid4, editable=False)
    voucher_code = models.CharField()

class ApprovedCouponLine(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    approved_coupon = models.ForeignKey(ApprovedCoupon, on_delete=models.CASCADE, related_name='approved_coupon_lines')
    coupon_code = models.ForeignKey(Voucher, on_delete=models.CASCADE, related_name='approved_coupon_lines_coupons')

我试过了,但它显示了内部连接。在

^{pr2}$

当前查询:

^{3}$

预期查询:

SELECT "voucher_voucher"."code", "voucher_approvedcouponline"."id" 
FROM "voucher_voucher" 
LEFT JOIN "voucher_approvedcouponline" ON ("voucher_voucher"."id" = "voucher_approvedcouponline"."coupon_code_id" AND 
                                            "voucher_approvedcouponline"."approved_coupon_id" = 'CD5FC4FE'
                                      )

我在上面的例子中遗漏了什么?在


Tags: iddefaultmodeluuidmodelscodeclasscoupon