SELECT COUNT(*)GROUP BY DJANGO如何做?

时间:2017-06-03 00:37:47

标签: python mysql django group-by

我想在Django中执行这个MySQL查询:

SELECT Descripcion,count(*)
FROM votaciones.Tarjeton 
WHERE Voto_idVoto=1 
GROUP BY Descripcion;

MySQL的预期结果:

  

'',' 1'

     

' Camilo Gomez Ortega',' 3'

     

' JUan Jose Marquez',' 3'

     

' Pedro Pablo de la Mar',' 15'

     

' Sandra Mejia Gutierez',' 4'

我的模特是:

class Tarjeton(models.Model):
idtarjeton = models.AutoField(db_column='idTarjeton', primary_key=True)  # Field name made lowercase.
descripcion = models.CharField(db_column='Descripcion', max_length=45)  # Field name made lowercase.
cadidatos_idcadidatos = models.ForeignKey(Cadidatos, models.DO_NOTHING, db_column='Cadidatos_idCadidatos')  # Field name made lowercase.
voto_candidato = models.ForeignKey('Voto', models.DO_NOTHING, db_column='Voto_idVoto')  # Field name made lowercase.

class Meta:
    managed = False
    db_table = 'Tarjeton'

1 个答案:

答案 0 :(得分:0)

尝试这种方式:

from django.db.models import Count
Tarjeton.objects.filter(voto_candidato=1).values('descripcion').annotate(Count('descripcion')).order_by()