Ich habe Probleme bei der Filterung in django-models
.Wie alle Datensätze zurückgegeben werden, aber den letzten Artikel ausschließen
Ich möchte alle Datensätze eines bestimmten animal
zurückgeben, aber das letzte Element basierend auf dem letzten created_at
Wert ausgeschlossen und in absteigender Reihenfolge sortiert.
Ich habe dieses Modell.
class Heat(models.Model):
# Fields
performer = models.CharField(max_length=25)
is_bred = models.BooleanField(default=False)
note = models.TextField(max_length=250, blank=True, null=True)
result = models.BooleanField(default=False)
# Relationship Fields
animal = models.ForeignKey(Animal, related_name='heats', on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True, editable=False)
last_updated = models.DateTimeField(auto_now=True, editable=False)
Ich war in der Lage, das gewünschte Ergebnis durch diese rohe SQL-Skript erreicht. Aber ich möchte einen Django-Ansatz.
SELECT
*
FROM
heat
WHERE
heat.created_at != (SELECT MAX((heat.created_at)) FROM heat)
AND heat.animal_id = '2' ORDER BY heat.created_at DESC;
Bitte helfen Sie.
Negative Indexierung funktioniert nicht bei Abfragegruppen! – schwobaseggl
@Art, danke für deine Antwort aber schwobaseggl hatte recht auch wenn ich es auf 1 änderte noch kein gewünschtes Ergebnis. –
@schwobaseggl Gut zu wissen, danke – Art