1
我想构建一个基于类的Django REST API,它接收来自POST请求的数据并输出相关数据。如何设置需要POST请求信息的DJANGO REST?
我有建筑物的名单在DB
State Building
California Golden Gate Bridge
New York Empire State
California TransAmerica
New York Brooklyn Bridge
用户将通过POST请求(即加州)供应状态,则API应返回适当的建筑(如金门大桥,泛美)
我想我只是很难理解这个类是如何在request.data ['state_id']中进行的。我应该使用APIView吗?这么多的问题!
到目前为止,我在view.py有这个
class BuildingViewSet(viewsets.ModelViewSet):
queryset = BuildingRule.objects.values('building_name').distinct()
serializer_class = BuildingSerializer
def post(self, request, *args, **kwargs):
queryset = BuildingRule.objects.filter(state_name=request.data['state_id'])
return Response(queryset.values_list('building_name', flat=True))
这是我serializer.py
class BuildingSerializer(serializers.ModelSerializer):
class Meta:
model = BuildingRule
fields = ('building_name',)
这是我url.py:
router.register(r'buildings', views.BuildingsViewSet, base_name='Building')
覆盖您的视图中的创建方法....按照此链接https://stackoverflow.com/questions/40999386/custom-function-which-performs-create-and-update-on-drf-modelviewset – amrit
覆盖在视图中创建方法不是正确的方法。使用DRF和序列化器就像我在我的答案中所描述的那样,只需在Field上使用'required'属性。 –