Доброго времени суток!
Прошу сильно не пинать.
Пытаюсь осилить первый пробный проект на джанго (только знакомлюсь).
Буду благодарен за помощь.
#models.py
grade_list = (
[1, 'Самый низкий']
, [2, 'Низкий']
, [3, 'Средний']
, [4, 'Выше среднего']
, [5, 'Высокий']
, [6, 'Самый высокий']
)
class Request(models.Model):
title = models.CharField(max_length=150)
#....
class Grade(models.Model):
user = models.ForeignKey(User)
request = models.ForeignKey(Request)
level = models.IntegerField(choices=grade_list, default=3)
#view.py
@login_required(login_url="/login/")
def requests(request):
latest_requests_list = Request.objects.filter(active = True).order_by('average_grade', '-datetime')[:300]
context = {'latest_requests_list': latest_requests_list, 'count_list': count_list}
return render(request, "requests.html", context)
В шаблоне есть выпадающий список
#....
{% for request in latest_requests_list %}
<tr>
<td><a href="/requests/{{ request.id }}/"> {{ request.number }}</a></td>
<td><a href="/requests/{{ request.id }}/">{{ request.datetime }}</a></td>
<td><a href="/requests/{{ request.id }}/">{{ request.title }}</a></td>
<td><a href="/requests/{{ request.id }}/">{{ request.actual_status }}</a></td>
<td><a href="/requests/{{ request.id }}/">{{ request.str_av_grade }} ({{request.average_grade}})</a></td>
<td>
<ul class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
{{ request.cur_grade }}
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
{% for avs in grade_list %} #я в курсе что список не передается. Это просто пример желаемой логики
<li><a href="#">{{avs}}</a></li>
{% endfor %}
</ul>
</ul>
</td>
#....
Каким образом выбранное значение из списка в шабоне принято передавать в объект модели в django?
Переходить по ссылке и устанавливать значение во view (правда прямые пути для изменения данных кажутся мне жутко не кошерными)?
Уверен что простое и логичное решение уже существует.