如何在邮递员中传递数组

时间:2020-07-01 08:22:39

标签: django-rest-framework

我已经在DRF引用ManytoMany中创建了模式类。当我尝试通过PostMan传递数组时,会抛出一个"Incorrect type. Expected pk value, received str."错误,但是当我直接在'as_view()'中通过Web传递消息时,它将成功地插入数据库中。我的模态课是:

class PackageComponent(models.Model):
    pkg_code = models.CharField(max_length=255)
    comp_code = models.ManyToManyField(
        'core.SensorDevice'
    )
    created_at=models.DateTimeField(auto_now_add=True)
    updated_at=models.DateTimeField(auto_now=True)

所以,当我通过PostMan将组合代码中的数组传递给组件代码中的[1,2]时。我得到了错误。所以我的问题是如何传递数组?任何建议都是最欢迎的。预先感谢

1 个答案:

答案 0 :(得分:0)

如果在同一个键下传递多个值,它们将被解释为Django中的列表。因此在Postman中,您将使用格式数据为comp_code=1&comp_code=2&comp_code=3。 您可以读取数据,然后显示为request.data.getlist('comp_code') # [1, 2, 3]