【发布时间】:2021-07-10 13:43:37
【问题描述】:
在颜色中添加一个条目,但在温度曲线中添加一个:
无法使用视图名称“light_analysis:temperature-detail”解析超链接关系的 URL。您可能没有在 API 中包含相关模型,或者错误地配置了 lookup_field
我尝试了几个使用命名空间之类的选项。我只定义了温度模型。没有别的了。
urls.py(项目)
...
router = routers.DefaultRouter()
urlpatterns = [
...
path('', include('light_analysis.urls')),
path('api-auth/', include('rest_framework.urls', namespace='rest_framework'))
]
urls.py(应用程序)
from django.urls import include, path
from . import views
from something_web.urls import router
router.register(r'light', views.LightViewSet)
urlpatterns = [
path('', include(router.urls)),
]
models.py
...
class Light(models.Model):
color_id = models.ForeignKey(Color, on_delete=models.CASCADE)
temperature = models.CharField(max_length=63)
temperature_id = models.ForeignKey(Temperature, on_delete=models.CASCADE)
views.py
from rest_framework import viewsets
from common.models import Light
from .serializers import LightSerializer
class LightViewSet(viewsets.ModelViewSet):
queryset = Light.objects.all()
serializer_class = LightSerializer
序列化器.py
from rest_framework import serializers
from common.models import Light
class LightSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Light
fields = '__all__'
【问题讨论】:
标签: django django-rest-framework python-3.6