相关疑难解决方法(0)

如何在Django视图集中获取API参数?

我正在构建一个Django应用程序,它公开了一个REST API,用户可以通过它查询我的应用程序的模型.我按照这里的说明操作

我的路线在mySites url.py中看起来像这样:

router.register(r'myObjects', views.MyObjectsViewSet)
....
url(r'^api/', include(router.urls)),
Run Code Online (Sandbox Code Playgroud)

我的Serializer看起来像这样:

class MyObjectSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = MyObject
    fields = ('id', 'name',)
Run Code Online (Sandbox Code Playgroud)

我的Viewset看起来像这样:

class MyObjectsViewSet(viewsets.ModelViewSet):
    queryset = MyObjects.objects.all()
    serializer_class = MyObjectSerializer
Run Code Online (Sandbox Code Playgroud)

当我点击API/api/myObjects /时,它给出了所有myObject模型的列表.当我点击API/api/myObjects/60 /时它只给我id = = 60的myObject.到目前为止很棒!

但是,我想改变MyObjectsViewSet()的逻辑,以便我可以操作/更改当我点击/ api/myObjects/60 /时返回的内容.因此,我不想做MyObjects.objects.all(),而是根据myObject ID为60做一些更复杂的事情.但是我怎么能这样做?在这个视图中,我怎么能抓住这个数字60?它不作为参数传递.但我真的需要它!

python django rest

13
推荐指数
2
解决办法
8149
查看次数

标签 统计

django ×1

python ×1

rest ×1