Как изменить существующий экземпляр модели в django?

В Django я пытаюсь изменить название существующей книги с помощью id. Мой файл views.py состоит из

b=Books.objects.filter(book_id__iexact=book)
b.title = "Narnia"
b.save()

Я получаю ошибку и не могу сохранить экземпляр модели.

Попробуйте использовать метод get вместо filter. Когда вы используете фильтр, вы используете объект queryset. Вместо метода Books.objects.filter(book_id__iexact=book) попробуйте использовать b=Books.objects.get(book_id__iexact=book)

для обновления записи можно использовать 2 метода.

https://docs.djangoproject.com/en/4.0/ref/models/querysets/#update

.get будет работать для одного объекта, а .filter - для нескольких записей

#1st
b=Books.objects.get(book_id=book)
b.title = 'Foo'
b.save()

#2nd
Books.objects.filter(book_id__iexact=book).update(title='Foo')
Вернуться на верх