【发布时间】:2019-08-13 10:25:36
【问题描述】:
我能够制作只读模型序列化程序,例如:
class FooSerializer(serializers.ModelSerializer):
class Meta:
model = Foo
fields = ['name', 'ratio']
read_only_fields = fields
但是,我倾向于经常在Foo 中添加/删除字段。每次修改Foo 时不更新我的序列化程序会容易得多。 fields = '__all__' 非常方便:
class FooSerializer(serializers.ModelSerializer):
class Meta:
model = Foo
fields = '__all__'
read_only_fields = fields
但是,read_only_fields 不接受 __all__ 作为有效选项并引发此异常:
Exception Type: TypeError at /api/foo/
Exception Value: The `read_only_fields` option must be a list or tuple. Got str.
如何在不明确将每个字段添加到read_only_fields 列表的情况下将所有字段标记为只读?
【问题讨论】:
标签: python-3.x serialization django-models django-rest-framework