Как избавиться от тега <QuerySet[]> при получении данных о моем шаблоне из базы данных? Django
У меня не получается разобраться в этом через поиск различных вопросов на stackoverflow, но я использую представление на основе функций, чтобы упростить свой день. Но когда я извлекаю эти данные из базы данных и показываю только одну запись с помощью slice. Он бросает рядом с ним тег, который обычно появляется, когда мы тестируем печать в наших терминалах. Но как именно избавиться от этого?
tutorials = Tutorial.objects.values_list('id', flat=True)
courses = Course.objects.all()
tutorial_title = Tutorial.objects.filter(id__in=tutorials).values('title').values_list('title', flat=True)
context = {'tutorial': tutorials,'courses': courses, 'tutorial_title': tutorial_title}
Вот мой фрагмент кода, где когда я вызываю {{ tutorial_title | slice:'1'}}
. Он должен вызвать только одну последнюю запись, которая работает безупречно, но рядом с показанными данными есть тег <QuerySet.
Мне кажется, я только что случайно нашел ответ. Я знаю, что QuerySet является списком, поэтому в моем views.py, я думаю, я мог бы просто установить цикл for на самом запросе и бросить его в пустой список, который будет брошен в шаблон, используя контекст. lmao
tutorials = Tutorial.objects.values('id')
courses = Course.objects.all()
**tutorial_titleList = []**
tutorial_title = Tutorial.objects.filter(id__in=tutorials).values('title').values_list('title', flat=True)
**for tutorial in tutorial_title:
tutorial_titleList.append(tutorial)**
context = {'tutorial': tutorials,'courses': courses, 'tutorial_title': tutorial_titleList}
и в моем теге шаблона. Поскольку он все еще возвращает список, я просто поместил | join: "" рядом с тегом and и bwalaahh
Почему бы просто не передать его в шаблон в качестве названия знака:
courses = Course.objects.all()
tutorial_titles = ', '.join(Tutorial.objects.values_list('title', flat=True))
context = {
'courses': courses,
'tutorial_titles': tutorial_titles
}
Здесь tutorial_titles
- это строка названий учебников, разделенных запятыми.
Или если вам нужно только первое название:
courses = Course.objects.all()
tutorial_title = Tutorial.objects.values_list('title', flat=True).first()
context = {
'courses': courses,
'tutorial_title': tutorial_title
}