Как отобразить последние сообщения в django

Вот случай, мне нужно, чтобы последние записи модели отображались на странице, для этого я добавил новую запись pub_date в модели, чтобы добавить в очередь записей, я также добавил это в views.py, и он вроде как отображает, но обе записи.

кодviews.py

    def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)
    avaibilitys = Avaibility.objects.order_by('-pub_date')
    context['avaibilitys'] = avaibilitys
    return context

код models.py

class Avaibility(models.Model):
name_text = models.CharField(max_length=200)
apply_text = models.CharField(max_length=200)
presence_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published', null=True)

def __str__(self):
    return self.name_text

def __str__(self):
    return self.apply_text

def __str__(self):
    return self.presence_text

вот что отображаетсяenter image description here

Вы просто сортируете данные с помощью order_by и присваиваете отсортированные данные переменной:

avaibilitys = Avaibility.objects.order_by('-pub_date')

Если вы хотите получить только один из них, вы можете сделать следующее:

avaibilitys = Avaibility.objects.order_by('-pub_date').first()

EDIT

Если вам нужен последний, сделайте следующее:

avaibilitys = Avaibility.objects.order_by('-pub_date').last()
Вернуться на верх