这是我的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内置的功能)。