Je veux demander les premiers éléments x qui dépassent ensemble un montant spécifique et je ne sais pas si cela est en quelque sorte possible. Alors que ce supposant est mon modèle:Requête Django - obtenir les premiers x éléments qui dépassent ensemble une quantité spécifique pour un champ
class Article(models.Model):
price = models.DecimalField(default=0.0, max_digits=7, decimal_places=2)
Maintenant, si je commande le Articles
par le price
Je veux la première Articles
qui, ensemble, dépasser la price
de disons 100 dollars. Est-ce que c'est en quelque sorte possible avec annotation, addition, extra() ou autre?
Article.objects.order_by("price")
par exemple: J'ai 3 articles:
Article1 (price=50 Dollar)
Article2 (price=60 Dollar)
Article3 (price=20 Dollar)
.... Maintenant, je veux que les articles qui dépassent ensemble le prix de 100 dollars ... donc ce serait Article1 ET Article2 . Ensemble, la valeur est de 110 Dollars
Cette réponse dans les déclarations sql premières serait dir il truc mais je ne sais pas comment résoudre avec cette syntaxe django limiting the rows to where the sum a column equals a certain value in MySQL
Comment dites-vous first x elements? Créé en premier? –
Disons que j'ai 3 Articles: Article1 (prix = 50 Dollar) Article2 (prix = 60 Dollar) et Article3 (prix = 20 Dollar) .... Maintenant, je veux les articles qui, ensemble, dépassent le prix de 100 Dollar. ..so ce serait l'article 1 et l'article 2. Ensemble, la valeur est de 110 Dollars –
Je ne peux penser à rien sans utiliser un forloop. –