你好!我有一个 API,它通过向127.0.0.1:8000/my_api/objects/. 请告诉我在请求地址时如何显示数据库中的对象127.0.0.1:8000/my_api/objects/X。X数据库中的id对象在哪里。
序列化器看起来像这样:
class MySerializer(ModelSerializer):
type = ChoiceField(Device.TYPE_CHOICES, required=True)
status = BooleanField(default=True)
created_at = DateTimeField(read_only=True)
class Meta:
model = Object
fields = ('id', 'type', 'name', 'status', 'created_at')
视图看起来像这样:
class DevicesViewSet(GenericAPIView, ViewSetMixin, ListModelMixin, RetrieveModelMixin, CreateModelMixin):
http_method_names = ['post']
queryset = Object.objects
serializer_class = MySerializer
但实际上,这段代码是用来实现向数据库添加新记录的功能
ReadOnlyModelViewset如果您只需要在 GET 请求上显示对象或者ModelViewSet您还需要修改对象,则将视图中的所有 mixin 替换为其中一个视图集。事实上,这些是由这些 mixin 组装而成的聚合器类,它们使用路由器将适当的请求发送到必要的方法。在
urls.py指定视图集的路由器:这足以为
Object.GET
/objects/是一个对象列表。GET
/objects/:id- 一个对象这应该工作:
views.py
网址.py