我知道这很基本,但是我正在拔头发。
在我以前的项目中,这始终可以更新。我拉起过去的项目进行比较,但这并没有更新,一直在寻找价值。我希望它采用不为null的值并保留以前的现有值。
也尝试了[
{
"key":"John",
"values":[
{
"key":"A",
"values":[
{
"key":"Strongly Disagree",
"values":0
},
{
"key":"Disagree",
"values":0
},
{
"key":"Neutral",
"values":0
},
{
"key":"Agree",
"value":2
},
{
"key":"Strongly Agree",
"value":3
}
]
},
{ }
]
},
{
"key":"Emily",
"values":[ ]
}
]
,但这在我的字段中给了Blank,这不是我想要的。
partial=True
因此,任何人都不应该是以前的
class UserRetrieveUpdateAPIView(generics.RetrieveUpdateAPIView):
serializer_class = UserSerializer
permission_classes = (IsAuthenticated, )
queryset = User.objects.all()
def get_object(self):
return self.request.user
def update(self, request, *args, **kwargs):
context = { 'user': request.user }
serializer = self.serializer(request.user, data=request.data)
if serializer.is_valid(raise_exception=True):
self.perform_update(serializer)
instance = serializer.instance
self.clear_cache(request.user)
序列化器
print (serializer) #<User: demo@email.com>, data={'first_name': None, 'last_name': 'stupid', 'email': None, 'password': None}