django rest framework 只写字段用法

django rest framework write only field usage

我只想知道 write_only 的用法,即

下面的选项 password1,2 字段

我检查了查看 returns 没有密码的文件信息,所以我可以大致理解但找不到 write_onlyoptions 的确切用法。

请大佬解释一下或者留下参考文档link..

class SignupSerializer(serializers.ModelSerializer):
    password1 = serializers.CharField(write_only=True)
    password2 = serializers.CharField(write_only=True)
    token = serializers.SerializerMethodField()

    class Meta:
        model = User
        fields = (
            'username',
            'password1',
            'password2',
        )

这是视图

class Signup(APIView):
    def post(self, request):
        serializer = SignupSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        return Response(serializer.errors, 
    status=status.HTTP_400_BAD_REQUEST)

write_only 正是它所说的。

当您在 ViewSet 的 APIView 中为 'GET' 方法使用封闭的序列化程序 class 时,DRF 在序列化表示时不会包含该字段。

这是 write_only

的 api 文档