向颜色添加条目有效,但向温度trows:添加条目
无法使用视图名称"解析超链接关系的URL;light_analysis:温度细节";。您可能未能在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)),
]
型号.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
serializers.py
from rest_framework import serializers
from common.models import Light
class LightSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Light
fields = '__all__'
我在Serializer:中丢失了这个
temperature_id = serializers.PrimaryKeyRelatedField(queryset=Temperature.objects.all(), many=False)
然后直接调用meta:中的字段
fields = ('temperature_id',)