Можно ли использовать эту неправду ?:Джанго .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, но, может быть, я читаю это неправильно?
Но это то, что я хочу. Я бы хотел, чтобы оба были исключены? –
Ох! Спасибо alot :) –
Если вы не измените запрос, он будет исключать объект с 'invoice__sale_date' меньше даты AND' id = instance.id'. Я думаю, это не то, что вы хотите. –