如何解决在Django中,是否可以将prefetch_related强制仅执行一个SQL查询?
使用这些模型:
class CustomUser(PaymentUserMixin,AbstractUser):
pass
class Customer(StripeModel):
subscriber = models.ForeignKey(
settings.AUTH_USER_MODEL,null=True,on_delete=models.SET_NULL,related_name="djstripe_customers",)
是否可以强制此QuerySet仅使用一个SQL查询(而不是两个)?
CustomUser.objects.prefetch_related('djstripe_customers').get(email="user@gmail.com")
会生成以下内容:
SELECT "accounts_customuser"."id" FROM "accounts_customuser" WHERE "accounts_customuser"."email" = 'user@gmail.com' LIMIT 21; args=('user@gmail.com',)
SELECT "djstripe_customer"."djstripe_id" FROM "djstripe_customer" WHERE "djstripe_customer"."subscriber_id" IN (6); args=(6,)
注意:我无法修改客户模型
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。