djangorestframework - 默认值 True 的布尔字段更改为 False

Dha*_*mit 13 django django-rest-framework

在其他各种字段中,我的models.py 中有一个如下所示的布尔字段:

is_searchable = models.BooleanField(default=True)
Run Code Online (Sandbox Code Playgroud)

当使用 PUT 请求修改模型的任何一个字段时,即使在 PUT 请求中没有指定与之相关的值,is_searchable也会更改为False

我在serializers.ModelSerializer这里使用。django rest 框架的版本 - 3.0.1

gri*_*gno 5

如果您不想更新 is_searchable,则必须在序列化程序类中将其定义为 read_only 字段。

例如:

class YourSerializer(serializers.ModelSerializer):
    is_searchable = serializers.BooleanField(read_only=True)
Run Code Online (Sandbox Code Playgroud)

否则,传递正确的值 true/false