@samuser
programmer

Как исправить этот поиск?

model.py

class Author(models.Model):
    gender = (('M', 'Male'), ('F', 'Female'))

    name = models.CharField(max_length=100)
    pol = models.CharField(max_length=1, choices=gender)
    birth = models.DateField(max_length=100)

class Book(models.Model):
    name = models.CharField(max_length=100)
    authors = models.ManyToManyField(Author)

шаблон
form action="{% url 'knig-avtor' %}" method="GET"> {%csrf_token %}
         <p>Книги
            select name="bok_avt">
                {% for ba in books %}
                    option value="{{ ba.id }}">{{ ba.name }} </option>
                {% endfor %}
            /select>
            input type="submit" value="Найти">
         </p>
    /form>

views.py
def knig_avtor(request):
    a_id = request.GET['bok_avt']
    booksa = Author.objects.get(id=a_id)
    return render(request, 'app/author_book.html', {'booksa':booksa})

Выдает MultiValueDictKeyError как исправить ?
Нужно при выборе книг вывести всех авторов этой книги ?
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ответы на вопрос 1
@Keofaste
a_id = request.GET.get('bok_avt')
booksa = get_object_or_404(Author, id=a_id)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы