Отображение поля выбора в шаблоне Django
Я пытаюсь найти работоспособное решение для моей проблемы. Я уже нашел ответы на два похожих вопроса, но все равно не могу их решить. Если у нас есть класс, подобный этому:
from django.db import models
class Consumer(models.Model):
SIZES = (
('S', 'Small'),
('M', 'Medium'),
('L', 'Large'),
)
name = models.CharField(max_length=60)
size = models.CharField(max_length=2, choices=SHIRT_SIZES)
И я сделал в своем представлении и шаблоне вот так (Узнал из одного учебника)
***view with combined queries***
def staff_filter(request):
qs = Consumer.objects.all()
shirt_size= request.GET.get('size')
# I have some other queries in between ....
if is_valid_queryparam(size) and size!='Choose...':
qs = qs.filter(size=consumer.get_size.display())
return qs
def filter(request):
qs=admin_staff_filter(request)
context={
'queryset':qs,
'consumer':consumer.objects.all()
}
return render(request, 'filter.html',context)
**template***
<div class="form-group col-md-4">
<label for="size">size</label>
<select id="size" class="form-control" name="size">
<option selected>Choose...</option>
{% for size in consumer.get_size.display %}
<option value="{{ size }}">{{size}}</option>
{% endfor %}
</select>
</div>
How should I correct it? Thanks!
Display selection field in Django template