我想知道如何在序列化程序(ModelSerializer(中隐藏特定字段
示例
型号.py
class Book(models.Model):
title = models.CharField(max_length=30)
author = models.CharField(max_length=30)
hide_this_one = models.CharField(max_length=30) # hide this field
serializers.py
class BookSerializer(serializers.ModelSerializer):
class Meta:
model = Book
fields = '__all__'
views.py
class BookApiView(views.APIView):
template_name = 'book/create-book.html'
permission_classes = (AllowAny, )
renderer_classes = [TemplateHTMLRenderer]
def get(self,request,*args,**kwargs):
serializer = BookSerializer()
return Response({'serializer':serializer})
当序列化程序呈现为HTML 时,我想隐藏hide_this_one字段
我需要html上的hide_this_one字段,但保持隐藏(<input-type="hidden"…>(
如果您更改字段的样式,请告诉我如何隐藏标签。
示例:
class BookSerializer(serializers.ModelSerializer):
hide_this_one = serializers.CharField(...., style={'input_type':'hidden'})
class Meta:
model = Book
fields = '__all__'
谢谢你的帮助!
您可以使用exclude
class BookSerializer(serializers.ModelSerializer):
hide_this_one = serializers.CharField(...., style={'input_type':'hidden'})
class Meta:
model = Book
exclude = ('hide_this_one', )