В DetailView отсутствует ошибка QuerySet. разве это не должно работать с первичным ключом?

Совершенно новое для этого супер красивого джанго. Стараюсь изо всех сил...

попытка http://127.0.0.1:8000/angebot/1/ в моем браузере должен показать мне набор запросов с первичным ключом 1 из модели Testkunde

мне нужно определить набор запросов в подробном представлении ?? обычно с моделью = Testkunde это нужно делать ??

будем очень признательны за любую помощь! заранее спасибо!

views.py

class TestkundeDetailView(DetailView):
    model = Testkunde
    template_name = 'angebot/detail.html'
    context_object_name = 'testkunde_list'

urls.py

urlpatterns = [
    #path('', angebot_views.testkunde_list, name='testkunde_list'),
    path('', angebot_views.TestkundeListView.as_view(), name='angebot-list'),
    path('<int:pk>/', angebot_views.DetailView.as_view(), name='angebot-detail'),
]

models.py

class Testkunde(models.Model):
    auswahl = (
        ('Ausw1', 'Ausw2'),
        ('Ausw2', 'ausw2'),
        ('Ausw3', 'ausw3'),
    )

    vname = models.CharField(max_length=250,default='vname')
    nname = models.TextField(default='default')
    tel = models.CharField(max_length=250,default='0664')
    ausw = models.CharField(max_length=10,choices=auswahl,default="Ausw1")
    datum = models.DateTimeField(default=timezone.now)

    def __str__(self):
        return self.vname

    def get_absolute_url(self):
        return reverse('angebot:testkunde_list',)

Ошибка:

Неправильно настроенный в /angebot/1/ DetailView отсутствует QuerySet. Определите DetailView.model, DetailView.queryset или переопределите DetailView.get_queryset(). Метод запроса: URL запроса GET: http://127.0.0.1:8000/angebot/1/ Версия Django: 3.0.8 Тип исключения: Неправильно сконфигурированное Значение исключения:
В DetailView отсутствует QuerySet. Определите DetailView.model, DetailView.queryset или переопределите DetailView.get_queryset(). Расположение исключения: C:\Users\berni\PycharmProjects\django_project\venv\lib\site-packages\django\views\generic\detail.py в get_queryset, строка 73. Исполняемый файл Python: C:\Users\berni\PycharmProjects\django_project\ venv\Scripts\python.exe Версия Python: 3.7.7 Путь Python:
['C:\Users\berni\PycharmProjects\django_project\django_project', 'C:\Users\berni\AppData\Local\Programs\ Python\Python37\python37.zip", "C:\Users\berni\AppData\Local\Programs\Python\Python37\DLLs", "C:\Users\berni\AppData\Local\Programs\Python\Python37\lib" , 'C:\Users\berni\AppData\Local\Programs\Python\Python37', 'C:\Users\berni\PycharmProjects\django_project\venv', 'C:\Users\berni\PycharmProjects\django_project\venv\lib \site-packages'] Время сервера: Пт, 27 ноя 2020 08:19:51 +0000

Я искал, но не могу найти ошибку.


person Bernhard Developing    schedule 27.11.2020    source источник


Ответы (1)


Насколько я вижу, проблема в вашем шаблоне URL-адресов. Ваш URL для angebot-detail указывает на фактический DetailView, а не на ваш TestkundeDetailView, который вы определили в файле views.py.

Вам следует обновить URL-адрес angebot-detail следующим образом:

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

Не забудьте импортировать TestkundeDetailView вверху.

person Sebastian Ammon    schedule 27.11.2020
comment
Себастьян, большое спасибо. Это решило мою проблему. Для меня это большая проблема... может и для других?? Просто небольшая опечатка/ошибка все портит. Я думаю, мне нужно научиться правильно отлаживать эту вещь django... - person Bernhard Developing; 27.11.2020