我在使用时遇到一个问题
django rest framework
想得到你的帮助。
对于下面的代码,可以使用
http GET/POST
,但如果我使用以下命令更新
field para1
:
curl -X PUT -H 'Content-Type: application/json' -i 'http://127.0.0.1:8000/info/my_key_1/' --data '{"para1": "hi"}'
它告诉我:
{
“para2”:[“此字段是必需的。”],
“para3”:[“此字段是必需的。”],
}
我知道,我可以补充
para2
&安培;
para3
打电话时
PUT
方法,但这不是我需要的。
我想知道我是否可以更新
para1
不添加
para2 and para3
因为我不想改变他们?
同时,如果我能得到所有的文件
GET
,仍然检查所有字段
POST
,我的意思是不要从序列化程序中丢弃para2¶3。有什么解决办法吗?
顺便说一下,我用
viewsets.ModelViewSet
.
接下来是主要代码:
网址.py
router = SimpleRouter()
router.register(r'info', views.InfoView)
序列化程序.py
class InfoSerializer(serializers.ModelSerializer):
class Meta:
model = Info
fields = (
'id',
'key',
'para1',
'para2',
'para3'
)
模型.py
class Info(models.Model):
key = models.CharField(max_length=30, unique=True)
para1 = models.CharField(max_length=30)
para2 = models.CharField(max_length=30)
para3 = models.CharField(max_length=30)
视图.py
class InfoView(viewsets.ModelViewSet):
lookup_field = 'key'
queryset = Info.objects.all()
serializer_class = InfoSerializer