django 'str' 对象在 getlist() 中没有属性 'id'

django 'str' object has no attribute 'id' in 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)