Django Rest Framework模型序列化器:将所有字段设置为只读,除了一个

时间:2018-09-14 08:30:32

标签: python django django-rest-framework

我正在使用的模型有很多字段。我希望能够将除一个字段以外的所有字段都设置为只读,即我只允许一个特定的字段可写。有捷径可做吗? 我只知道使用“ read_only_fields =('x','y'),而且我真的不想输入所有字段,特别是如果以后要对模型进行更改时。”在这种情况下也不适用。

1 个答案:

答案 0 :(得分:6)

尝试覆盖序列化程序的__init__方法:

def __init__(self, *args, **kwargs):
    super(UserSerializer, self).__init__(*args, **kwargs)
    for field in self.fields:
        if field != 'some_required_filed':
            self.fields[field].read_only = True