Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

131
Vistas
Error sum in sql request

I have model:

class Sales(ModelWithCreator, models.Model):
    date = models.DateField(default=datetime.date.today)
    merchandise = models.ForeignKey(Merchandise)
    partner = models.ForeignKey(Partner)
    count = models.PositiveIntegerField()
    debt = models.PositiveIntegerField(default=0)
    price = models.PositiveIntegerField()
    cost = models.PositiveIntegerField()

I have to get sum of all objects that model. I tried that:

Sales.objects.all().extra(select={
            'total': 'Sum(price * count - cost)'
        })

But, I got error:

column "sales_sales.id" must appear in the GROUP BY clause or be used in an aggregate function LINE 1: SELECT (Sum(price * count - cost)) AS "total", "sales_sales"...

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

I think you might want to use the .aggregate() function. See the Django documentation for Aggregation.

Something like this (though I haven't tested it):

Sales.objects.all().aggregate( total = Sum((F(price)*F(count)) - F(cost)) )

Also, that same documentation suggests using the .query() function to see what the resulting query is. That might help you see what is going wrong.

over 4 years ago · Santiago Trujillo Denunciar

0

Try this

Sales.objects.all().extra(select={
            'total': 'Sum(price * count - cost)'
        }).values("total")
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda