我正在Django Rest Framework中构建一个项目,用户可以登录查看他们的酒窖.我的ModelViewSets工作得很好,突然间我得到了这个令人沮丧的错误:
无法使用视图名称"user-detail"解析超链接关系的URL.您可能未能在API中包含相关模型,或者未
lookup_field在此字段上错误地配置属性.
追溯显示:
[12/Dec/2013 18:35:29] "GET /bottles/ HTTP/1.1" 500 76677
Internal Server Error: /bottles/
Traceback (most recent call last):
File "/Users/bpipat/.virtualenvs/usertest2/lib/python2.7/site-packages/django/core/handlers/base.py", line 114, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/bpipat/.virtualenvs/usertest2/lib/python2.7/site-packages/rest_framework/viewsets.py", line 78, in view
return self.dispatch(request, *args, **kwargs)
File "/Users/bpipat/.virtualenvs/usertest2/lib/python2.7/site-packages/django/views/decorators/csrf.py", line 57, in wrapped_view
return view_func(*args, **kwargs)
File "/Users/bpipat/.virtualenvs/usertest2/lib/python2.7/site-packages/rest_framework/views.py", line 399, in dispatch
response = self.handle_exception(exc)
File "/Users/bpipat/.virtualenvs/usertest2/lib/python2.7/site-packages/rest_framework/views.py", line 396, in dispatch
response = handler(request, *args, **kwargs)
File "/Users/bpipat/.virtualenvs/usertest2/lib/python2.7/site-packages/rest_framework/mixins.py", line 96, in list
return …Run Code Online (Sandbox Code Playgroud) 我收到错误
无法使用视图名称“taxonomy-detail”解析超链接关系的 URL。您可能未能在 API 中包含相关模型,或者错误地配置了
lookup_field该字段的属性。
这是一个 MWE:
from django.contrib import admin
from django.urls import include, path
from rest_framework import routers
from testproj import views
router = routers.DefaultRouter()
router.register(r'taxonomy', views.TaxonomyViewSet)
router.register(r'taxonomy-term', views.TaxonomyTermViewSet)
urlpatterns = [
path('admin/', admin.site.urls),
path('api/', include(router.urls))
]
Run Code Online (Sandbox Code Playgroud)
from django.db import models
class Taxonomy(models.Model):
name = models.CharField(max_length=255)
description = models.TextField()
slug = models.SlugField()
def __str__(self):
return self.name
class Meta:
verbose_name = "Taxonomy"
verbose_name_plural = "Taxonomies"
class TaxonomyTerm(models.Model):
taxonomy = models.ForeignKey(
"Taxonomy",
on_delete=models.CASCADE,
related_name="terms",
related_query_name="term"
) …Run Code Online (Sandbox Code Playgroud)