Помогает ли prefetch или select_related при использовании @свойства модели

У меня есть такая модель:

class Order(Model):
    ...
    @property
    def all_shipments_shipped(self):
        return all([shipment.is_shipped for shipment in self.shipments.all()])

class Shipment(Model):
    ...
    order = ForeignKey(Order, related_name='shipments', on_delete=SET_NULL, null=True)

    @property
    def is_shipped(self):
        return (calculate if shipped based on tracking status)

и такой набор представлений:

@action(methods=['GET'], detail=False, url_path='num_not_shipped')
    def num_not_shipped(self, request):
        qs = self.request.user.orders.all()
        num_orders_not_shipped = len([i for i in qs if not i.all_shipments_shipped])
        return Response(num_orders_not_shipped, status=status.HTTP_200_OK)

Добавить

qs = qs.select_related('shipments')

перед num_orders_not_shipped =... во вьюсе поможет то, что отгрузка используется в свойстве модели, а не в самом вьюсе?

Спасибо за помощь

Вернуться на верх