Проблема с кверисетом Django CBV

это моя модель

class Post(models.Model):
author = models.ForeignKey('auth.User', on_delete=models.CASCADE)
title = models.CharField(max_length=256)
text = models.TextField()
create_date = models.DateTimeField(auto_now_add=True, auto_now=False)
published_date = models.DateTimeField(blank=True, null=True)

def __str__(self):
    return f'{self.author} --> {self.title}'

def get_absolute_url(self):
    return reverse('blog:post_detail', kwargs={'pk': self.pk})

def publish(self):
    self.published_date = timezone.now()
    self.save()

def unpublish(self):
    self.published_date = None
    self.save()

и я зарегистрировал его в Django admin. Я создал два поста в Django admin, новый пост, когда я публикую его и нажимаю кнопку now и обновляю страницу, он не показывает этот пост:

вот такой вид:

enter image description here

Как вы можете видеть результат запроса1, запрос2 отличается от запроса3.

Я думаю, что это ошибка, если это не так, пожалуйста, осветите меня.

на него ответил Iain Shelvington в комментарии:

Атрибут класса queryset, определенный в PostListView, создается один раз при запуске вашего приложения, оно всегда будет фильтровать, используя значение timezone.now() на момент запуска вашего приложения. Чтобы проверить это, попробуйте перезапустить ваше приложение после публикации и посмотрите, изменится ли результат

.
Вернуться на верх