django - ImproperlyConfigured at / Could not resolve URL for hyperlinked relationship using view name "classname-detail" -


serializers.py:

from django.forms import widgets rest_framework import serializers .models import classname, sectionname, teachername, attendancename django.contrib.auth.models import user   class classserializer(serializers.hyperlinkedmodelserializer):   #once add hyperlinked raises above exception.     class meta:         model = classname         fields = ('url', 'class_name',)  class sectionserializer(serializers.hyperlinkedmodelserializer):     class meta:         model = sectionname         fields = ('url', 'class_name', 'section_name')  class teacherserializer(serializers.hyperlinkedmodelserializer):     class meta:         model = teachername         fields = ('url', 'classname', 'secname', 'teachname')  class attendanceserializer(serializers.hyperlinkedmodelserializer):     class meta:         model = attendancename         fields = ('url', 'teacher_name', 'date', 'intime', 'outtime') 

urls.py:

from django.conf.urls import url, patterns . import views  urlpatterns = [     #drf urls start here...     url(r'^$', views.api_root),     #url(r'^users/$', views.userlist.as_view(), name='user-list'),     #url(r'^users/(?p<pk>[0-9]+)/$', views.userdetail.as_view(), name='user-detail'),     url(r'^class/$', views.classlist.as_view(), name='classname-list'),     url(r'^class/(?p<pk>[0-9]+)/$', views.classdetail.as_view(), name='classname-detail'),     url(r'^section/$', views.sectionlist.as_view(), name='sectionname-list'),     url(r'^section/(?p<pk>[0-9]+)/$', views.sectiondetail.as_view(), name='sectionname-detail'),     url(r'^teach/$', views.teacherlist.as_view(), name='teachername-list'),     url(r'^teach/(?p<pk>[0-9]+)/$', views.teacherdetail.as_view(), name='teachername-detail'),     url(r'^attend/$', views.attendancelist.as_view(), name='attendance-list'),     url(r'^attend/(?p<pk>[0-9]+)/$', views.attendancedetail.as_view(), name='attendance-detail'), 

]

views.py:

from django.contrib.auth.models import user .models import classname, sectionname, teachername, attendancename rest_framework import generics rest_framework.reverse import reverse rest_framework.response import response rest_framework.decorators import api_view .serializers import classserializer, sectionserializer,   teacherserializer, attendanceserializer rest_framework.permissions import isauthenticatedorreadonly  @api_view(('get',)) def api_root(request, format=none):     return response({         'class':reverse('student:classname-list', request=request, format=format),         'section':reverse('student:sectionname-list', request=request, format=format),         'teacher':reverse('student:teachername-list', request=request, format=format),         'attendance':reverse('student:attendancename-list', request=request, format=format) })  class classnamelist(generics.listcreateapiview):     queryset = classname.objects.all()     serializer_class = classserializer     permission_classes = (isauthenticatedorreadonly,)  class classnamedetail(generics.retrieveupdatedestroyapiview):     queryset = classname.objects.all()     serializer_class = classserializer     permission_classes = (isauthenticatedorreadonly,)  class sectionnamelist(generics.listcreateapiview):     queryset = sectionname.objects.all()     serializer_class = sectionserializer     permission_classes = (isauthenticatedorreadonly,)  class sectionnamedetail(generics.retrieveupdatedestroyapiview):     queryset = sectionname.objects.all()     serializer_class = sectionserializer     permission_classes = (isauthenticatedorreadonly,)  class teachernamelist(generics.listcreateapiview):     queryset = teachername.objects.all()     serializer_class = teacherserializer     permission_classes = (isauthenticatedorreadonly,)  class teachernamedetail(generics.retrieveupdatedestroyapiview):     queryset = teachername.objects.all()     serializer_class = teacherserializer     permission_classes = (isauthenticatedorreadonly,)  class attendancenamelist(generics.listcreateapiview):     queryset = attendancename.objects.all()     serializer_class = attendanceserializer     permission_classes = (isauthenticatedorreadonly,)  class attendancenamedetail(generics.retrieveupdatedestroyapiview):     queryset = attendancename.objects.all()     serializer_class = attendanceserializer     permission_classes = (isauthenticatedorreadonly,) 

my traceback:

environment:   request method: request url: http://127.0.0.1:8000/stu/class/  django version: 1.8.3 python version: 3.4.3 installed applications: ('django.contrib.admin',  'django.contrib.auth',  'django.contrib.contenttypes',  'django.contrib.sessions',  'django.contrib.messages',  'django.contrib.staticfiles',  'rest_framework',  'student') installed middleware: ('django.contrib.sessions.middleware.sessionmiddleware',  'django.middleware.common.commonmiddleware',  'django.middleware.csrf.csrfviewmiddleware',  'django.contrib.auth.middleware.authenticationmiddleware',  'django.contrib.auth.middleware.sessionauthenticationmiddleware',  'django.contrib.messages.middleware.messagemiddleware',  'django.middleware.clickjacking.xframeoptionsmiddleware',  'django.middleware.security.securitymiddleware')   traceback: file "c:\users\user\demo\venv\lib\site-packages\django\core\handlers\base.py" in get_response   132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs) file "c:\users\user\demo\venv\lib\site-packages\django\views\decorators\csrf.py" in wrapped_view   58.         return view_func(*args, **kwargs) file "c:\users\user\demo\venv\lib\site-packages\django\views\generic\base.py" in view   71.             return self.dispatch(request, *args, **kwargs) file "c:\users\user\demo\venv\lib\site-packages\rest_framework\views.py" in dispatch   456.             response = self.handle_exception(exc) file "c:\users\user\demo\venv\lib\site-packages\rest_framework\views.py" in dispatch   453.             response = handler(request, *args, **kwargs) file "c:\users\user\demo\venv\lib\site-packages\rest_framework\generics.py" in   241.         return self.list(request, *args, **kwargs) file "c:\users\user\demo\venv\lib\site-packages\rest_framework\mixins.py" in list   47.         return response(serializer.data) file "c:\users\user\demo\venv\lib\site-packages\rest_framework\serializers.py" in data   622.         ret = super(listserializer, self).data file "c:\users\user\demo\venv\lib\site-packages\rest_framework\serializers.py" in data   217.                 self._data = self.to_representation(self.instance) file "c:\users\user\demo\venv\lib\site-packages\rest_framework\serializers.py" in to_representation   572.             self.child.to_representation(item) item in iterable file "c:\users\user\demo\venv\lib\site-packages\rest_framework\serializers.py" in <listcomp>   572.             self.child.to_representation(item) item in iterable file "c:\users\user\demo\venv\lib\site-packages\rest_framework\serializers.py" in to_representation   439.                 ret[field.field_name] = field.to_representation(attribute) file "c:\users\user\demo\venv\lib\site-packages\rest_framework\relations.py" in to_representation   272.             raise improperlyconfigured(msg % self.view_name)  exception type: improperlyconfigured @ /stu/class/ exception value: not resolve url hyperlinked relationship using view name "classname-detail". may have failed include related model in api, or incorrectly configured `lookup_field` attribute on field. 

i'm following drf tutorial make demo app serializable. i've got problem when i'm trying add hyperlinked in serializers, throws above exception.

i don't know why so? follow proper url namespacing conventions.

please me resolve it.....

actually, problem project level urls. i've removed 'namespacing' argument project level url includes app 'url(r'^stu/$', include('student:app'))'. 'classname-detail' can't include implicitly 'namespacing' argument raises above exception.


Comments