10

私は django-rest-framework ジェネリック ビューを使用して、POST リクエストを介してモデル内にオブジェクトを作成しています。POST の後に作成されたオブジェクトの ID、またはより一般的な、作成されたオブジェクトに関する追加情報を返す方法を知りたいです。

これは、オブジェクトを作成 (およびリスト) するビュー クラスです。

class DetectorAPIList(generics.ListCreateAPIView):
    serializer_class = DetectorSerializer
    permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
    parser_classes = (MultiPartParser, FileUploadParser,)

    def pre_save(self, obj):
        obj.created_by = self.request.user.get_profile()

    def get_queryset(self):
        return (Detector.objects
                .filter(get_allowed_detectors(self.request.user))
                .order_by('-created_at'))

モデルのシリアライザー:

class DetectorSerializer(serializers.ModelSerializer):
    class Meta:
        model = Detector
        fields = ('id', 'name', 'object_class',
              'created_by', 'public', 'average_image', 'hash_value')
        exclude = ('created_by',)

ありがとう!

4

2 に答える 2

0

ここで、DetectorSerializerはModelSerializerから継承し、ビューはジェネリックListCreateAPIViewから継承するため、ビューに対してPOST要求が行われると、ID とシリアライザーのフィールドで定義されたすべての属性が返されます。

于 2015-04-29T10:11:02.480 に答える