Reputation: 311
I have a SoftDeletableModel named Offer:
class Offer(SoftDeletableModel):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.PROTECT, related_name='offers')
order = models.ForeignKey(Order, on_delete=models.PROTECT, related_name='offers')
price = models.PositiveIntegerField()
I am using below query to get all Orders that current user has an offer in it.
Order.objects.filter(offers__user=request.user)
but it counts deleted offers in lookup query. for example, if a user delete his offer from an order, this query returns that order too.
an other example is something like this: Order.objects.filter(offers=48)
. offer 48 is removed but i get result from this query too.
does django use default manger for lookup fields?
Upvotes: 0
Views: 138
Reputation: 4095
Can you try this:
Order.objects.filter(offers__user=request.user, is_deleted=False)
Upvotes: 1