Django Шаблон request.GET.value не работает

Мне нужно установить selected="selected" для поля select.

<form action="{% url 'books:book_detail' book.pk %}" method="get">
{% csrf_token %}
<select name="country">
{% for shop_country in shop_countries_list %}                       
{% if request.GET.country == shop_country.pk %}
<option value="{{ shop_country.pk }}" selected="selected">{{ shop_country.name }}</option> 
{% else %}
<option value="{{ shop_country.pk }}">{{ shop_country.name }}</option> 
{% endif %}        
{% endfor %}                    
</select>
<button class="button" type="submit">Search</button>
</form>

Но это не работает. Я думаю, что request.GET.country внутри оператора if является null или пустым. Но если я помещу request.GET.country в другое место моего кода, например, так: {{ request.GET.country }} - это даст правильное значение.

Вопрос в том, почему он не дает никакого значения внутри оператора if?

Views.py

class BookDetailView(DetailView):
    model = Book
    template_name = 'book-detail.html'
    

    def get_context_data(self, **kwargs):

        book = Book.objects.get(pk = self.kwargs['pk'])
        category = Category.objects.get(name = book.category.first())
        
        # Call the base implementation first to get a context
        context = super().get_context_data(**kwargs)
        # Add in a QuerySet 
        context['book_text'] = BookText.objects.get(book = book)
        context['book_info'] = BookInfo.objects.get(book = book)

        book_info = BookInfo.objects.get(book = book)
        if book_info.pages:            
            hours = round((book_info.pages / 60), 1)
        else:
            hours = None
        context['hours'] = hours
        context['category_books'] = Book.objects.filter(category = category).order_by('bookinfo__bestseller')[:12]
        context['shops_list'] = Shop.objects.filter(country = self.request.GET.get('country'))
        context['shop_countries_list'] = ShopCountry.objects.all()
        return context

Модели

Вы пробовали это?

<form action="{% url 'books:book_detail' book.pk %}" method="get">
{% csrf_token %}
<select name="country">
{% for shop_country in shop_countries_list %}                       
{% if request.country == shop_country.pk %}
<option value="{{ shop_country.pk }}" selected="selected">{{ shop_country.name }}</option> 
{% else %}
<option value="{{ shop_country.pk }}">{{ shop_country.name }}</option> 
{% endif %}        
{% endfor %}                    
</select>
<button class="button" type="submit">Search</button>
</form>

if country is object try request.country.pk

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