В методе вашей модели у вас нет доступа к запросу, поэтому у вас нет доступа к сеансу. Один из способов, которым вы могли бы вызвать метод с сеансом, - это добавить тег шаблона , который передает значение из сеанса в ваш метод
@register.simple_tag(takes_context=True)
def price(context, product):
return product.get_price(pin_code=context.request.session.get('pin_code'))
В вашем шаблоне вы бы использовали это как
{% load product_tags %}
{% price item %}