我已经在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]时。我得到了错误。所以我的问题是如何传递数组?任何建议都是最欢迎的。预先感谢
答案 0 :(得分:0)
如果在同一个键下传递多个值,它们将被解释为Django中的列表。因此在Postman中,您将使用格式数据为comp_code=1&comp_code=2&comp_code=3
。
您可以读取数据,然后显示为request.data.getlist('comp_code') # [1, 2, 3]
。