我希望我的应用程序的行走客户能够要求我想要的一个rendez-vous 随时使用rendez-vous数据和默认密码发送新用户名时自动创建新用户
这是我的view.py
class rvList(generics.ListCreateAPIView):
queryset = Rendezvous.objects.all()
serializer_class = RvSerializer
def perform_create(self, serializer):
serializer.save(owner=self.request.user)
这是我的序列化程序
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ['username', 'email', 'first_name', 'last_name']
class RvSerializer(serializers.ModelSerializer):
owner = UserSerializer()
class Meta:
model = Rendezvous
fields = ('id','daterv', 'heurerv', 'lieurv','owner')
请你帮我解决这个问题我想从帖子到用户模型插入一些数据,其余的数据到RendezVous模型
我得到了这个
{
"id": 11,
"daterv": "2013-02-01",
"heurerv": "10:30",
"lieurv": "Thies",
"owner": {
"username": "admin",
"email": "",
"first_name": "",
"last_name": ""
}
},
{
"id": 12,
"daterv": "2013-02-01",
"heurerv": "08:30",
"lieurv": "Dakar",
"owner": null
},
仅使用相关的rv设置了已记录的用户,而不是我使用我的表单发送的新用户。 提前谢谢。
答案 0 :(得分:0)
我认为问题是,你没有用帖子数据填充序列号。
在这部分:
def perform_create(self, serializer):
serializer.save(owner=self.request.user)
self.request.user是经过身份验证的用户(http://www.django-rest-framework.org/api-guide/requests/#user),默认情况下,当用户未登录时,该用户实际为null。
如果您想通过post方法发送的数据创建用户,您应该可以在self.request.data(http://www.django-rest-framework.org/api-guide/requests/#data)中访问它们