@Enter_a_nickname

Как получить последнюю запись из базы данных и вывести ее в таблице?

Я использую django 4, на одной из страниц сайта у меня есть таблица которая выводит данные из бд на основе построенной мной модели. Для отображения таблицы в html я использую библиотеку django-tables2. Вот некоторые из моих настроек: views.py:
from django.shortcuts import render
from .models import Titles

def analytics(request):
return render(request, 'main/analytics.html', {'analytics':Titles.objects.all()})


Данные настройки позволяют мне вывести все данные из бд и добавить их в таблицу html, но мне необходимо получать только последнюю запись (в соответствии с крайним номером id в бд). Я пробовал заменить "all" на "last", но в таком случае получаю следующую ошибку:

ValueError: Expected table or queryset, not Titles

Что нужно исправить чтобы получать только последнюю запись?
  • Вопрос задан
  • 1082 просмотра
Решения вопроса 1
AlexNest
@AlexNest
Работаю с Python/Django
Написано же - ожидается таблица или queryset, а last возвращает одну запись. Скорее всего - в tables2 есть отдельный метод для вывода одной записи, его нужно просто загуглить.
Впрочем, если нужно решить проблему "в лоб", то можно так:
Titles.objects.all().order_by('-id')[:1]
Но это, имхо, говнокод.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@zyusifov11
Titles.objects.all().order_by('-created_at')[0]
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы