Quite new to this super nice django thing. Trying my best...
trying http://127.0.0.1:8000/angebot/1/ in my browser is supposed to show me the queryset with the primary key 1 from model Testkunde
do i need to define a queryset in the detailview ?? normally with model = Testkunde this should be done ??
would really appreciate any help ! thanks in advance!
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',)
Error:
ImproperlyConfigured at /angebot/1/ DetailView is missing a QuerySet. Define DetailView.model, DetailView.queryset, or override DetailView.get_queryset(). Request Method: GET Request URL: http://127.0.0.1:8000/angebot/1/ Django Version: 3.0.8 Exception Type: ImproperlyConfigured Exception Value:
DetailView is missing a QuerySet. Define DetailView.model, DetailView.queryset, or override DetailView.get_queryset(). Exception Location: C:\Users\berni\PycharmProjects\django_project\venv\lib\site-packages\django\views\generic\detail.py in get_queryset, line 73 Python Executable: C:\Users\berni\PycharmProjects\django_project\venv\Scripts\python.exe Python Version: 3.7.7 Python Path:
['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'] Server time: Fri, 27 Nov 2020 08:19:51 +0000
I've been searching but can't find the mistake.
From what I can see, the problem is in your URLs pattern. Your URL for the angebot-detail is pointing to the actual DetailView
rather than your TestkundeDetailView
that you defined in your views.py file.
You should update your angebot-detail url to the following:
urlpatterns = [
...
path('<int:pk>/', angebot_views.TestkundeDetailView.as_view(), name='angebot-detail'),
]
Don't forget to import your TestkundeDetailView
at the top.