首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Django rest框架-在post()中分析键值对

Django rest框架-在post()中分析键值对
EN

Stack Overflow用户
提问于 2019-02-19 17:11:29
回答 2查看 812关注 0票数 1

当用户输入POST API数据时,他们将输入A和B键值对。我想修改post()以满足我的需要。当用户单击submit或posts数据时,我想解析下面的内容。

无论如何,在api视图上返回这些字段(或者当用户单击提交时)之前解析这些字段?

这就是用户试图使用post API发布的内容。

代码语言:javascript
运行
复制
[
    {
        "A": "1234",
        "B": "12345",
    },
]

我所做的:

views.py

代码语言:javascript
运行
复制
class MyModelList(generics.ListCreateAPIView):
    queryset = MyModel.objects.all()
    serializer_class = MyModeSerializer
    permission_classes = (permissions.IsAuthenticated,)

def post(self, request, *args, **kwargs):
     ##parse A values from key value pair so that value == 1234
     ##parse B values from key value pair so that value == 12345
     return self.create(request, *args, **kwargs)

models.py

代码语言:javascript
运行
复制
class Models(models.Model):
    A = models.CharField(max_length=255, null=False)
    B = models.CharField(max_length=255, null=False)
EN

回答 2

Stack Overflow用户

发布于 2019-02-19 17:31:44

我想你是想发送一个对象,而不是一个对象列表。因为ListCreateAPIViewcreate函数将只在模型中创建一个对象。

因此,如果用户发送带有以下数据的POST请求:

代码语言:javascript
运行
复制
{
    "A": "1234",
    "B": "12345",
}

您可以从您的request.data字典访问它。

代码语言:javascript
运行
复制
def post(self, request, *args, **kwargs):
     A = request.data.get('A', None)
     B = request.data.get('B', None)
     return self.create(request, *args, **kwargs)

如果A或B为空,这将意味着数据没有与请求一起正确发送。

票数 0
EN

Stack Overflow用户

发布于 2019-02-19 17:37:03

您需要将数据解析为密钥对。试试这个:

代码语言:javascript
运行
复制
class MyModelList(generics.ListCreateAPIView):
    queryset = MyModel.objects.all()
    serializer_class = MyModeSerializer
    permission_classes = (permissions.IsAuthenticated,)

    def post(self, request, *args, **kwargs):
        pairs = request.data()
        for pair in pairs:
            model = Models.objects.create(**pair)
        return Response({"results": "saved"})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54771589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档