URL обратного просмотра на основе класса не возвращается к URL с идентификатором

Я имею различные взгляды, пытаясь добавить продукт для одного члена, созданного на приложении, не пользователь с аутентификацией, скорее один администратор системы управления. ниже приведен мой код любезно помочь очень признателен. Я получаю ошибку

django.urls.exceptions.NoReverseMatch: Reverse for 'read_hairbty' with без аргументов не найден. 1 pattern(s) tried: ['read_hairbty/(?P[0-9]+)$']

.

Views.py

Создать назначение

class HBTYOrderView(BSModalCreateView):
    model = HbtyOrder
    template_name = 'accounts/modals/hairbty/create_hbtyordr.html'
    form_class = HairbtyOrderForm
    success_message = 'Success: Appointment was created.'
    success_url = reverse_lazy('read_hairbty')

Посмотреть назначение

class HBTYReadView(generic.ListView):
    model = HbtyOrder
    context_object_name = 'hairbty'
    template_name = 'accounts/modals/hairbty/read_hbty.html'
    allow_empty = True
    pk_url_kwargs = 'hbtycustomer_id'
    paginate_by = 100
    
    def get_queryset(self):
        qs = self.model.objects.filter(hbtycustomer_id=self.kwargs['pk']).order_by('-date_created')
        p_f = HbtyOrdersFilter(self.request.GET, queryset=qs)
        return p_f.qs
    
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['filter'] = HbtyOrdersFilter(self.request.GET, queryset=self.get_queryset())
        return context

Urls.py

path('read_hairbty/<int:pk>', views.HBTYReadView.as_view(), name='read_hairbty'),

path('create_hairbtyorder/', views.HBTYOrderView.as_view(), name='create_hairbtyorder'),

Вы можете работать с get_success_url().

class HBTYOrderView(BSModalCreateView):
    model = HbtyOrder
    template_name = 'accounts/modals/hairbty/create_hbtyordr.html'
    form_class = HairbtyOrderForm
    success_message = 'Success: Appointment was created.'
    
    def get_success_url(self):
        return reverse('read_hairbty', kwargs={'pk': self.object.pk})

Попробуйте это:

class HBTYOrderView(BSModalCreateView):
    ...

    def get_success_url(self):
        return reverse('read_hairbty', kwargs={'pk': self.object.hbtycustomer_id})
Вернуться на верх