0

我有一个名为 Offer 的 SoftDeletableModel:

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()

我正在使用以下查询来获取当前用户提供的所有订单。

Order.objects.filter(offers__user=request.user)

但它会在查找查询中计算已删除的报价。例如,如果用户从订单中删除他的报价,此查询也会返回该订单。

另一个例子是这样的:Order.objects.filter(offers=48). 报价 48 被删除,但我也从这个查询中得到结果。

django 是否对查找字段使用默认管理器?

4

1 回答 1

1

你可以试试这个:

Order.objects.filter(offers__user=request.user, is_deleted=False)
于 2020-05-07T15:10:24.423 回答