【发布时间】:2019-07-30 15:53:02
【问题描述】:
我是 Django 的初学者:如何编写这个 mysql 查询来组合不同的表?
(SELECT "fatture_produzione" as tab, id, numero, data, iva, totale, azienda_id as azienda, id_fornitori_id as fornitori FROM fatture_fatture_produzione)
UNION
(SELECT "fatture_fornitori" as tab, id, numero, data, iva, totale, azienda_id as azienda, fornitori_diversi_id as fornitori FROM fatture_fatture_fornitori)
UNION
(SELECT "fatture_professionisti" as tab, id, numero, data, iva, totale, azienda_id as azienda, professionisti_id as fornitori FROM fatture_fatture_professionisti)
order by data
在我看来,我试试这个:
fatture_fornitori_var = fatture_fornitori.objects.values( id='id', data='data', numero='numero', totale='totale', iva='iva', azienda='azienda_id', fornitori='fornitori_diversi_id').filter(azienda_id=azienda).order_by("data")
fatture_professionisti_var = fatture_professionisti.values(id='id', data='data', numero='numero', totale='totale', iva='iva', azienda='azienda_id', fornitori='professionisti_id').objects.filter(azienda_id=azienda ).order_by("data")
fatture_produzione_var = fatture_produzione,values(id='id', data='data', numero='numero', totale='totale', iva='iva', azienda='azienda_id', fornitori='id_fornitori_id').objects.filter(azienda_id=azienda).order_by("data")
并且...使用 itertools:
fatture_dare = sorted(
chain(fatture_fornitori_var, fatture_professionisti_var, fatture_produzione_var),
key=attrgetter('data'))
但我无法在模板中输出:
{% for fattura in fatture_dare %}
<tr role="row" class="odd">
<td><nobr>{{ fattura.data|date:"d-m-Y" }}</nobr></td>
<td>{{fattura.azienda}}</td>
<td>{{fattura.numero}}</td>
</tr>
{% endfor %}
谢谢!
【问题讨论】:
-
你能展示你的models.py文件吗?人们通常使用 union 而不是 itertools 来执行此操作。