Ну, в URL отсутствует первичный ключ. Вы должны включить его, как:
urlpatterns = [
path('<b><int:pk></b>', PostList.as_view(), name='post_list'),
]
Затем вы можете запросить это с помощью:
localhost:8000/post/123
с 123
первичным ключом, для которого вы хотите получить данные.
Это, однако, не выглядит как ListView
[Django-doc] . ListView
следует использовать при рендеринге списка объектов. Это больше похоже на DetailView
[Django-doc] .
Приятной особенностью DetailView
является то, что он даже автоматически фильтрует первичный ключ и слаг. Он автоматически вызовет ответ 404. Если такого объекта не существует.
Так что вы, вероятно, хотите использовать:
class <b>PostDetailView</b>(<b>DetailView</b>):
model = Post
<b>context_object_name = 'post'</b>
template_name = 'post/post_list.html'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['check_access'] = Access.objects.filter(...)
return context
context_object_name
[Django-doc] указывает имя переменной шаблона для этого объекта.