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

130
Vistas
Suma de errores en la solicitud sql

tengo modelo:

 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()

Tengo que obtener la suma de todos los objetos que modelan. Intenté eso:

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

Pero, tengo un error:

la columna "sales_sales.id" debe aparecer en la cláusula GROUP BY o usarse en una función agregada LÍNEA 1: SELECT (Sum(price * count - cost)) AS "total", "sales_sales"...

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

0

Creo que es posible que desee utilizar la función .aggregate() . Consulte la documentación de Django para Agregación .

Algo como esto (aunque no lo he probado):

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

Además, esa misma documentación sugiere usar la función .query() para ver cuál es la consulta resultante. Eso podría ayudarte a ver qué está fallando.

over 4 years ago · Santiago Trujillo Denunciar

0

Prueba esto

 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