Как передать параметр в представления на основе классов в Django?

как передать этот параметр в вызываемом классе?

Это url

#url
path('all-agency/<int:id>', AllAgenciesView.as_view(), name='all-agency'),

cbv

#views
class AllAgenciesView( TemplateView):
    template_name='agencies.html'

class AllAgenciesListView(ServerSideDatatableView):
 
    def get_queryset(self):
      agencies = SettingsAgency.objects.using('agency-namespace').filter(id=self.kwargs['id'])
      return  agencies

это в шаблоне

#in anchor tag(html)
<a href="{% url 'all-agency' id=2 %}" ><div>Agencies</div></a>

в адресной строке это будет выглядеть следующим образом:

http://127.0.0.1:8000/all-agency/2

Теперь я хочу передать 'id' в представления, основанные на классе, но когда я сделал filter(id=self.kwargs['id'). я получил ответ KeyError: 'id'

я попробовал другой способ, который

filter(id=self.kwargs.get('id')) 

и он возвращает None, когда я print(agencies)

другой способ, который я пробовал

filter(id=self.request.GET.get('id'))

это также вернуло то же самое None

Вы вызываете неправильное представление в ваших путях, вы должны вызвать AllAgenciesListView вместо AllAgenciesView.

Исправленная версия:

#url
path('all-agency/<int:id>', AllAgenciesListView.as_view(), name='all-agency'),
Вернуться на верх