Py学习  »  Django

用Django实现REST API

Riccardo Bucco • 3 年前 • 1354 次点击  

这是我的Django模型:

class M(models.Model):
    a = models.IntegerField()
    b = models.IntegerField()

这是序列化程序:

class MSerializer(ModelSerializer):
    class Meta:
        model = M
        fields = ['a', 'b']

我希望能够实现以下REST API:

  • 127.0.0.1:8000/m/ (获取所有元素的列表,发布新元素)
  • 127.0.0.1:8000/m/:id/ (获取id为的元素的详细信息) id )
  • 127.0.0.1:8000/n/:a/m/ (获取具有特定属性的所有元素) a (现场)

到目前为止,这是我实现的视图和URL:

class MViewSet(ModelViewSet):
    queryset = M.objects.all()
    serializer_class = MSerializer
router = DefaultRouter()
router.register(r'm', MViewSet)

urlpatterns = [
    path('', include(router.urls)),
]

然而,以这种方式,第三个用例不起作用。如何修改代码以使第三个案例生效?我希望使用尽可能少的代码行(也就是说,我希望使用一些Django内置的功能)。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/132911
 
1354 次点击  
文章 [ 2 ]  |  最新文章 3 年前