python - Django 是否请求数组

标签 python django django-rest-framework

如何判断传入的请求是否为数组? 现在我正在采用这种方法

def create(self, request, *args, **kwargs):
    serializer = self.get_serializer(data=request.data)
    if isinstance(request.data, list):
        serializer = self.get_serializer(many=True, data=request.data)

最好的方法是什么?

最佳答案

简化此操作的一种方法是:

def create(self, request, *args, **kwargs):
    is_many = isinstance(request.data, list)
    serializer = self.get_serializer(many=is_many, data=request.data)

在此示例中,我假设通过在第一个函数调用中不传递 many,它默认为 False

由于您始终会运行测试 isinstance,因此不妨先调用它并将其用作 many 参数的值。

这样您只需调用 self.get_serializer 一次。

关于python - Django 是否请求数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41734335/

相关文章:

javascript - django ajax 集合更改

python - 使用 Filter 优化 Django ORM 访问

Django-rest-framework 嵌套 url 与 drf-nested-routers

python - Django URL 到 View 的映射

python - 这种数组是什么意思/做什么?

python - 在数据类的自定义 `__init__` 覆盖中调用生成的 `__init__`

python 列表 : append vs +=

python - 如何向 PySCIPOpt 类添加属性

django - Django管理员changelist_view中的自定义html字段

python - 从 Queryset Django 中填充缺失的数据