Как получить аннотированные атрибуты в шаблоне из DetailView?

Я работаю над небольшой электронной коммерцией. Для модели 'Product' я отслеживаю запасы с помощью Custom Manager и метода Products.objects.with_stock(), который использует аннотации (я обязан это делать, я никак не могу добавить атрибут запаса в Product)

В ListView всех товаров довольно просто добавить склад, чтобы получить к нему доступ из шаблона:

# app/views.py
class ProductListView(ListView):
   ...
   def get_stock(self, obj):
        return obj.stock

    def get_queryset(self):
        return super().get_queryset().with_stock()   

А затем в шаблоне я просто вызываю его:

<!-- templates/home.html-->
{% for product in products %}
   <p> Stock: {{product.stock}} <p>
{% endfor %}

Как мне сделать что-то подобное для DetailView?

Учитывая, что DetailView получает конкретный экземпляр объекта, где или как я могу запустить что-то подобное тому, что я сделал в ListView? Где я могу запустить метод запроса, который воздействует на все объекты в целом, чтобы затем я мог получить доступ к нему таким же образом из шаблона?

Проще некуда: просто сделайте то же самое в DetailView:

# app/views.py
class ProductDetailView(DetailView):
   ...
   def get_stock(self, obj):
        return obj.stock

    def get_queryset(self):
        return super().get_queryset().with_stock()   
Вернуться на верх