class AlbumSerializer(serializers.ModelSerializer):
tracks = serializers.PrimaryKeyRelatedField(many=True, queryset=Track.objects.all(), )
class Meta:
model = Album
fields = ('album_name', 'artist', 'tracks')
添加多首曲目的格式是什么
track是一个很多领域
尝试了数组,逗号分隔但没有运气
如果我通过
track = "Track1"
其中“Track1”是Track 1的主键
如何添加['Track1', 'Track2']
实际代码
class TreatmentTemplateSerializer(serializers.ModelSerializer):
icds = serializers.PrimaryKeyRelatedField(read_only=False, many=True, queryset=ICD_10.objects.all())
class Meta:
model = Treatment_template
<小时/>
Postman支持以上格式的数组??
<小时/>
<小时/>
答案 0 :(得分:2)
发送普通JSON对象
我建议直接发送JSON
而不是form-data
或x-www-form-urlencoded
来测试复杂的请求数据(包括数组或嵌套对象)。为此,请点击raw
并将JSON
对象粘贴到那里。
要获得格式良好的JSON对象,我通常首先向已存在的资源发出GET
请求。然后我可以复制响应,将请求方法更改为PUT
,单击raw
按钮并粘贴json。然后我可以开始修改对象并测试端点。
在上面的例子中,以下是否有效?
{
"uuid": "the-long-uuid-here",
"icds": [
"A00",
"A001"
]
}
更新:使用x-www-form-urlencoded放置多个m2m ID
由于我并不完全满意于没有提供替代方案,所以我测试了一些(使用最新的Postman看起来不同)。
您可以使用x-www-form-urlencoded
传递多个值。为此,请添加具有相同标签icds
的多个行,并一次添加一个值。
请注意,我使用提供books
的端点对其进行了测试,在您的用例中为icds
。屏幕截图中的数据将以books=1&books=3&last_name=foobar
传输,DRF端点可正确获取该数据。
截图邮递员