Объект django 'str' не имеет атрибута 'id' в getlist()

У меня есть эта функция, которую я пытался использовать для выполнения операции удаления некоторых элементов

def return_buk(request):
    books = Books.objects.all()
    selected = request.POST.getlist('marked_delete')
    for book in books:
        for select in selected:
            if select.book_id_id == book.id:
                print(select.id)

Однако, когда я пытаюсь получить доступ к атрибутам, я получаю ошибку, подобную этой. Очевидно, что элементы в getlist приходят как в формате str. Как я могу получить их атрибуты?

'str' object has no attribute 'id'

Модель, откуда берется marked_delete

class Issue(models.Model):
    borrower_id = models.ForeignKey(Student,on_delete=models.CASCADE)
    book_id = models.ForeignKey(Books,on_delete=models.CASCADE)

Попробуйте

selected_list = request.POST.getlist('marked_delete')
selected = Issue.objects.filter(id__in=selected_list)

for book in books:
    for select in selected:
        if select.book_id_id == book.id:
            print(select.id)
Вернуться на верх