Django映射加入原始请求

Django映射加入原始请求,django,django-orm,Django,Django Orm,我有以下代码: class Invoice(models.Model): customer = models.ForeignKey(User, blank=True, null=True) customer_name = models.CharField(max_length=50, blank=True, null=True) email = models.CharField(max_length=100, blank=True, null=T

我有以下代码:

class Invoice(models.Model):
    customer      = models.ForeignKey(User, blank=True, null=True)
    customer_name = models.CharField(max_length=50, blank=True, null=True)
    email         = models.CharField(max_length=100, blank=True, null=True)

#----------------------------------

invoices = Invoice.objects.raw("""
    SELECT
        `invoices`.`id`,
        `invoices`.`customer_id`,
        `invoices`.`customer_name`,
        `invoices`.`email` AS `inv_email`,
        `auth_user`.`username`,
        `auth_user`.`email` AS `auth_email`,
         COUNT('customer_id') AS `buy_count`

    FROM `invoices`
        LEFT JOIN `auth_user` ON `auth_user`.id = `invoices`.customer_id

    GROUP BY `customer_id`, `invoices`.`email`
""", translations={'inv_email': 'email', 'auth_email': 'customer.email'})

但是,当我写发票[I]时,客户Django会为每个客户发出SQL请求。有没有办法在原始请求中将JOIN映射到Django模型?或者这个SQL请求可以使用纯Django ORM实现?

可能是@Alasdair的副本我理解正确,这种情况下的映射不可能?我不会说不可能,但不容易。有人问了我上周联系到的问题,但没有人提出真正的解决办法。