Python Django ORM额外多回报

Python Django ORM额外多回报,python,django,django-1.3,Python,Django,Django 1.3,Django 1.3.7中是否有方法从一个额外选择返回多个值? 例如,我有两个额外的选择用于获取两个单独的值,我还希望在不需要额外查询的情况下获取它们的差异(我需要能够对其进行筛选): invoices = invoices.extra(select={"value_storned_left": add_invoice_storned_total_query()}) invoices = invoices.extra(select={"total_value_paid": a

Django 1.3.7中是否有方法从一个额外选择返回多个值? 例如,我有两个额外的选择用于获取两个单独的值,我还希望在不需要额外查询的情况下获取它们的差异(我需要能够对其进行筛选):

invoices = invoices.extra(select={"value_storned_left": 
    add_invoice_storned_total_query()})
invoices = invoices.extra(select={"total_value_paid": 
    add_invoice_total_paid_query()})
我没有在Django 1.3中找到使用annotate的解决方案,因此我想知道是否可以将这两个查询组合起来,并从相同的额外查询返回3个值,可能会得到如下结果:

invoices = invoices.extra(select={("value1", "value2", "value3"): 
    combined_query()})
有没有办法做到这一点,它会是什么样子的。 到目前为止,我找到的唯一方法是进行额外的第三次查询以获得差异,这使用了我在前两次查询中所做的操作,因此这需要更长的时间,也需要更多的时间;它在DB上更重


谢谢

使用Django 1.3真的没有什么好理由。它多年来一直没有得到支持,完全不安全。升级到较新的版本还将使您能够访问较新的查询功能,这将有助于解决此问题。我知道,但我希望能够在实际升级到较新版本的django.com之前解决此问题,正如已经指出的那样。这是徒劳的。您可以使用新的API来实现这一点。那么,为什么只是为了把它扔掉而做一些事情呢?你甚至不会学到任何有用的东西