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'排除对象。我认为这不是你想要的。 –