我有一个代表服务器的相对简单的Django 1.7model:
class Server(models.Model):
hostname = models.CharField(max_length=100, primary_key=True)
puppetInfo = models.TextField(blank=True, null=True)
我打算通过Django REST框架公开这些信息,并创建了以下序列化器和视图集:
class ServerSerializer(serializers.ModelSerializer):
id = serializers.HyperlinkedIdentityField(view_name="server-detail", read_only=True)
instances = serializers.HyperlinkedRelatedField(view_name='instance-detail', many=True, read_only=True)
class Meta:
model = models.Server
class ServerViewSet(viewsets.ReadOnlyModelViewSet):
queryset = models.Server.objects.all()
serializer_class = ServerSerializer
lookup_field = "server_hostname"
我已经尝试了许多排列以使其正常工作,但无论我尝试什么,当我访问服务时总是会出现以下错误:
在/ api / servers /
处配置不当无法使用视图名称“server-detail”解析超链接关系的URL。您可能未能在API中包含相关模型,或者在此字段上错误地配置了lookup_field
属性。
我也在使用简单的路由器来配置URL:
router = routers.SimpleRouter()
....
router.register(r'servers', server.ServerViewSet)
非常感谢任何帮助。