【发布时间】:2016-01-22 05:32:10
【问题描述】:
我正在向这样的视图提供 JSON -
{
"username": "name",
"first_name": "john",
"last_name": "doe",
"email": "jdoe@hotmail.com",
"profile": {
"company": "abc corp"
}
}
然后我将它传递到以下视图中以发布 -
def post(self, request, format=None):
uuid = generate_uuid(request.data.get('username'))
data = {'username': request.data.get('username'),
'first_name': request.data.get('first_name'),
'last_name': request.data.get('last_name'),
'email': request.data.get('email'),
'company': request.data.get('profile').('company'),
'uuid': str(uuid)}
serializer = UserSerializer(data=data)
if serializer.is_valid():
print serializer.data
# serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
我很难理解如何构造data 以维护嵌套值,正如您所见,我还包括uuid 的字段,该字段也将位于嵌套的profile 对象中。
然后这些将被传递到我的序列化程序中 -
class UserSerializer(serializers.ModelSerializer):
profile = UserProfileSerializer()
class Meta:
model = User
fields = ('username', 'first_name', 'last_name', 'email', 'profile')
我目前的观点在这一行给出了一个语法错误 -
'company': request.data.get('profile').('company'),
我知道这是错误的,只是不知道应该如何构建它。
【问题讨论】:
标签: django django-rest-framework