【发布时间】:2020-12-05 06:25:40
【问题描述】:
我正在尝试获取 Json 元素及其相关元素
我有两张桌子,Service 和 Room。一项服务有许多房间。我想得到room_id = x的服务。
型号
class Service(models.Model):
name = models.CharField(max_length=255, blank=True, null=True)
class Meta:
managed = True
db_table = 'Service'
class Room(models.Model):
name = models.CharField(max_length=255, blank=True, null=True)
service = models.ForeignKey(Service, models.DO_NOTHING, blank=True,
null=True)
class Meta:
managed = True
db_table = 'Room'
序列化器
class ServiceSerializer(serializers.ModelSerializer):
room_set = RoomSerializer(many=True, read_only=True)
class Meta:
model = Service
fields = ('name','room_set')
class RoomSerializer(serializers.ModelSerializer):
class Meta:
model = Room
fields = '__all__'
查看
queryset = Service.objects.filter(room__id=1)
serializer = ServiceSerializer(queryset, many=True)
return JsonResponse(serializer.data, safe=False)
我希望有这样的 Json:
{
"name": "Hotel1",
"room_set": [
{
"id": 1,
"name": "Room1"
},
但我明白了:
{
"name": "Hotel1",
"room_set": [
{
"id": 1,
"name": "Room1",
},
{
"id": 2,
"name": "Room2",
},
{
"id": 3,
"name": "Room3",
}
}
是否有可能得到一个像我期望的那样的 json?
【问题讨论】:
标签: python django django-rest-framework django-queryset