verwende ich das falsch ?:Django .exclude() Rückkehr zu unerwarteten Ergebnissen
qs = self.model.objects.exclude(invoice__sale_date__lt=date, id=instance.id)
Dies gibt Artikel mit einem invoice.sale_date
vor dem angegebenen Datum.
Das ist mein Eingang:
print(date)
print("---")
qs = self.model.objects.exclude(invoice__sale_date__lt=date, id=instance.id)
for q in qs:
print(q.invoice.sale_date)
und die Ausgabe:
2015-05-01
---
2015-04-01
2015-05-01
Wenn ich entfernen Sie den id=instance.id
Teil, das Objekt mit dem früheren Zeitpunkt richtig ausgeschlossen. instance
ist in diesem Fall ein Objekt, dessen invoice.sale_date
den date
Wert in diesem Fall definiert, und ich möchte es auch ausgeschlossen. Es sieht so aus, als ob es funktionieren sollte, laut the docs, aber vielleicht lese ich es falsch?
Aber das ist, was ich will. Ich möchte beide ausgeschlossen sein? –
Ohhh! Danke viel :) –
Wenn Sie die Abfrage nicht ändern, wird es nur Objekt mit 'Rechnung__sale_Datum' weniger als Datum UND' ID = Instanz.ID' ausschließen. Ich denke, es ist nicht das, was du willst. –