Django обратная ошибка: недопустимый литерал для int () с базой 10: 'objectidXXXXXXX в строке' - PullRequest
0 голосов
/ 13 июля 2020

Я новичок в MongoDB / Django

Я использую djongo, как показано ниже. Я мог сэкономить. Но я получаю сообщение об ошибке в заголовке.

settings.py

DATABASES = {
    'default': {
        'ENGINE': 'djongo',
        'NAME': 'webpage',
    }
}

models.py

class Test(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()

    def get_absolute_url(self):
        return reverse('tests:test-detail', kwargs={'pk': self.pk})

Или

class Test(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()

    def get_absolute_url(self):
        return reverse('tests:test-detail', kwargs={'pk': str(self.pk)})

views.py

class TestDetailView(LoginRequiredMixin, DetailView):
    model = Test

urls.py

app_name = 'tests'

urlpatterns = [
    path('test/<pk>/', TestDetailView.as_view(), name='test-detail'),
]

Или

app_name = 'tests'

urlpatterns = [
    path('test/<str:pk>/', TestDetailView.as_view(), name='test-detail'),
]

Или

app_name = 'tests'

urlpatterns = [
    path('test/<int:pk>/', TestDetailView.as_view(), name='test-detail'),
]

При запуске кода get_absolute_url, он возвращает ошибку, как показано ниже:

недопустимый литерал для int () с базой 10: 'objectidXXXXXXX in string'

...