3

我有一个模型,其中很少有自动生成的字段。如何在 POST 请求期间从 Swagger UI 中隐藏这些字段?以下是示例:-

class ModelX(models.Model):
    a = models.CharField()
    b = models.CharField()
    c = models.CharField()
    d = models.CharField()

下面是我的序列化器:-

class Serializerx(serializers.Serializer):
    class Meta:
        model = ModelX
        fields = '__all__

在上述模型中,字段bd是从我的代码自动生成的,这意味着这些字段不需要作为用户的输入。

如果我添加bd作为只读字段,那么我将无法创建具有这些值的对象。

如何从有效负载请求中隐藏一些属性。?有点类似这个

4

2 回答 2

0

在 Meta 类中,您可以指定不想显示的字段:

class Serializerx(serializers.Serializer):
    class Meta:
        model = ModelX
        exclude = ('a','c','or_whatever_field_you_want_to_exclude')
于 2021-03-09T19:47:41.637 回答
-1

只需指定要显示的字段。

class Serializerx(serializers.Serializer):
class Meta:
    model = ModelX
    fields = ['a','c',]
于 2019-12-30T10:41:09.413 回答