【发布时间】:2019-07-19 12:59:46
【问题描述】:
在我的models.py 中,我创建了一个用户不可编辑的字段:
request_status = models.CharField(
max_length = 100,
default = 'received',
editable = False
)
在views.py 文件中,我重写create() 方法(来自generics.ListCreateAPIView 和CreateModelMixin 超类)来激活一个docker 容器,如果成功完成,我想修改request_status字段到 container_activated 之类的内容,然后将 HTTP 响应发回给用户。
那么...有没有办法修改不可编辑的字段?有没有更好的方法来设置model?
我最好的猜测是,有一种方法可以通过标准 create() 方法的其中一行来修改在 API DB 中注册的数据(不可编辑的字段不会出现在 data 属性中) :
serializer = self.get_serializer(data = request.data)
serializer.is_valid(raise_exception = True)
self.perform_create(serializer)
headers = self.get_success_headers(serializer.data)
【问题讨论】:
标签: python django django-rest-framework