我正在做一个小项目,Django Rest框架,我已经创建了add contact函数,您可以在我的create函数中看到这一点。现在我正在进行批量导入,但当我以列表而不是以目录的形式提交数据时,会收到一条错误消息:
{"non_field_errors":["Invalid data. Expected a dictionary, but got list."]}
这是我添加联系人的代码
class ContactView(ListModelMixin, viewsets.GenericViewSet):
queryset = Contact.objects.all()
serializer_class = ContactSerializer
def create(self, request):
serializeObject = ContactSerializer(data = request.data)
if serializeObject.is_valid():
serializeObject.save()
contactObject = Contact.objects.all()
contactSerializer = ContactSerializer(contactObject, many=True)
return Response(contactSerializer.data, status = status.HTTP_201_CREATED)
return Response(serializeObject.errors, status.HTTP_400_BAD_REQUEST)
现在我想为批量创建创建另一个函数,因为我有一个列表
这是我的标题数据结构:
[{"Greeting":"amine","first_name":"alain","last_name":"amine","title":"ricardo","language":"ab@xyz.com","email":43822510594,"phone_1":43822510594,"phone_2":"not yet","mobile":43822510594,"fax":"not yet","internal_id":"xname"},{"Greeting":"bill","first_name":"microsoft","last_name":"bill","title":"microsoft","language":"bill@microsoft.com","email":652565455,"phone_1":652565455,"phone_2":"new york","mobile":652565455,"fax":"new york","internal_id":"microsoft"},{"Greeting":"john","first_name":"Yoyo","last_name":"Ruth","title":"xnameagain","language":"rh@xyz.com","email":5465559852,"phone_1":5465559852,"phone_2":"Vancouver","mobile":5465559852,"fax":"Vancouver","internal_id":"yname"}]
这是我的序列化程序:
class ContactSerializer(serializers.ModelSerializer):
class Meta:
model = Contact
fields = "__all__"
我在https://www.django-rest-framework.org/api-guide/serializers/#dealing-with-multiple-objects上找到了解决方案
我所要做的就是添加many=True来创建多个对象
创建方法应如下所示:
建议
相关问题 更多 >
编程相关推荐