Как отобразить последние сообщения в 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
Вы просто сортируете данные с помощью 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()