範例程式碼:
# view 邏輯
class Test(APIView):
def get(self,request,*arg,**kwargs):
date=self.request.query_params.get('date')
data = exampleORM.objects.all()
res=ExampleSerializer(instance=data,many=True,context={'request':date})
return Response(res.data)
# serializer 邏輯
classExampleSerializer(serializers.ModelSerializer):
viewget=serializers.SerializerMethodField()
class Meta:
model=exampleORM
fields=['viewget']
def get_viewget(self,obj):
date=self.context.get('request')ee
return date
基本上因為範例中使用的是 restAPI中最底層的APIView 所以如果要在serializer中自長欄位來解析,用上serializerMethod()做一個處理
記錄用並且分享這小技巧(笑)
題外話: vivy真的很好看推薦去看,劇情畫面音樂滿分(like)