Несмотря на то, что аргументы URL точны (насколько я вижу), Django вызывает ошибку 404 при попытке получить доступ к конкретному подробному представлению.
Я пытаюсь создать подробный вид для конкретных экземпляров автомобиля в моем проекте. Я только что создал слаг, который передает уникальный UUID каждого автомобиля в URL, но Django вызывает ошибку 404.
Не удается найти конкретный экземпляр, но URL-адреса точны, а URL-адрес точно соответствует идентификатору. Кроме того, я нажимаю в ListView, который работает нормально.
Снимок экрана ошибки в браузере
Подтверждение ID со страницы администратора объекта. Обратите внимание, что он соответствует вышеуказанному URL.
models.py
class CarInstance(models.Model):
....
id = models.UUIDField(primary_key=True, default=uuid.uuid4,
help_text="Unique ID for this car")
...
class Meta:
ordering = ['date_added']
def __str__(self):
return f'{self.manufacturer} {self.car_model}'
def get_absolute_url(self):
return reverse('showroom:car-detail', args=[str(self.pk)])
urls.py
urlpatterns = [
...
path('car/<slug:car_detail>/', views.CarDetailView.as_view(), name='car-detail')
]
views.py
class CarDetailView(generic.DetailView):
model = CarInstance
template_name = 'car_detail'
slug_field = 'car_model'
slug_url_kwarg = 'car_detail'
def get_queryset(self):
return CarInstance.objects.all()