0
我使用這個錯誤?:Django的.exclude()返回意外的結果
qs = self.model.objects.exclude(invoice__sale_date__lt=date, id=instance.id)
此方法返回在指定日期之前的invoice.sale_date
項目。
這是我的輸入:
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)
和輸出:
2015-05-01
---
2015-04-01
2015-05-01
如果刪除了id=instance.id
部,與較早的日期的對象被適當排除。在這種情況下,instance
是invoice.sale_date
在這種情況下定義date
值的對象,我也希望它被排除。根據the docs,似乎這是應該如何工作的,但也許我讀錯了?
但是,這就是我想要的。我想都被排除在外? –
哦!非常感謝:) –
如果您不會更改查詢,它將僅使用'invoice__sale_date'小於日期AND'id = instance.id'排除對象。我認爲這不是你想要的。 –