【发布时间】:2020-07-07 18:19:18
【问题描述】:
我创建了一个模型,我在一个字段中使用 ManyToMany:
class Hospitals(models.Model):
name = models.CharField(max_length=100, blank=False, null=False)
class HealthProduct(models.Model):
hospital_list = models.ManyToManyField(Hospitals)
..
..
序列化器
hospital_field = serializers.SlugRelatedField(slug_field='id', queryset=Hospitals.objects.all(), many=True)
class HealthProductSerializers(serializers.ModelSerializer):
hospital_list = hospital_field
class Meta:
model = HealthProduct
exclude = ("created_at", "updated_at")
这里我将一个 Hospital_object id 列表传递给我的序列化程序
{
"hospital_list": [1, 2],
..
}
当我保存序列化数据得到响应时
{
"hospital_list": [
1,
2
]
...
}
但我想获得保存的响应,例如:
{
"hospital_list": [
{
"id": 1,
"name": "Apollo Bangalore Cradle Ltd."
},
{
"id": 2,
"name": "Greenview Healthcare Pvt. Ltd."
}
]
...
}
或
{
"hospital_list": [
"Apollo Bangalore Cradle Ltd.",
"Greenview Healthcare Pvt. Ltd."
]
...
}
当我使用时:
hospital_list = HospitalSerializer(read_only=True, many=True)
然后我收到了对已保存对象的期望响应,我在第一个响应中提到了。
我应该如何在我的序列化程序中使用 ManyToMany 字段来保存和获取所需格式的响应?
【问题讨论】:
标签: django django-rest-framework django-serializer active-model-serializers