Поле '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'),