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



我有一个函数,我试图用它来对一些项目执行删除操作

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'

标记删除来自的模型

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)

最新更新