Объект 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)