Поле 'id' ожидало число, но получило 'pk'

Я пишу несколько простых модульных тестов для моих представлений, основанных на классах. Я завершил тесты для urls, в которых я использовал args = ['pk'] для urls, содержащих pks. Однако при выполнении аналогичных тестов для представлений, те, которые имеют pks, заканчиваются ошибкой Field 'id' expected a number but got 'pk' '.

Вот рабочий тест URL:

        url = reverse('user', args=['pk'])
        self.assertEquals(resolve(url).func.__name__,
                          GetUser.as_view().__name__) 

Тест представления, основанный на классе, который получает ошибку:

class TestViews(TestCase):    
    def setUp(self):
        self.client = Client()
        self.single_user_url = reverse('user', args=['pk'])
    
    def test_single_user_view(self):
        
        response = self.client.get(self.single_user_url)
        self.assertEquals(response.status_code, 200)

urls.py:

urlpatterns = [
    path('', GetUsers.as_view(), name='users'),
    path('create/', CreateUser.as_view(), name='create-user'),
    path('user/<str:pk>/', GetUser.as_view(), name='user'),
    path('update/<str:pk>/', UpdateUser.as_view(), name='update-user'), 
]
path('user/<int:pk>/', GetUser.as_view(), name='user'),
path('update/<int:pk>/', UpdateUser.as_view(), name='update-user'),
Вернуться на верх