【问题标题】:MySQL query: how write in Django?MySQL 查询:如何在 Django 中编写?
【发布时间】: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 来执行此操作。

标签: mysql django database


【解决方案1】:

使用union

fatture_dare = fatture_fornitori_var.union(fatture_professionisti_var, fatture_produzione_var).order_by("data")

【讨论】:

    猜你喜欢
    • 2021-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-13
    • 2017-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多