Как использовать реверс с необязательными параметрами в django?

У меня есть URL, в котором я передаю целочисленное значение (pk), теперь, когда я вызываю обратный вызов на этом URL, я получаю нижеупомянутую ошибку.

urls.py

    urlpatterns = [ 
path('batch-postpone/<int:pk>/', postpone_batch, name='batch-postpone'),
]

tests.py

class ABCTestCases(APITestCase, TestCase):
      self.postpone_batch_url = reverse('batch-postpone')


Ошибка, которую я получаю...

django.urls.exceptions.NoReverseMatch: Reverse for 'batch-postpone' with no arguments not found. 1 pattern(s) tried: ['batch\\-postpone/(?P<pk>[0-9]+)/$']



Введите id в reverse(), как reverse('batch-postpone', args=[1])

https://docs.djangoproject.com/en/3.2/ref/urlresolvers/#reverse

class ABCTestCases(APITestCase, TestCase):
      id = 1
      self.postpone_batch_url = reverse('batch-postpone', args=[id])

Третий параграф документации для этой функции.

from django.urls import reverse

def myview(request):
    return HttpResponseRedirect(reverse('arch-summary', args=[1945]))
Вернуться на верх