已经解决...是我漏了一个参数
return FoodApiSerializer(foods,many=True, context={"request": self.context}).data
加上 many=True 就可以了
[
{
"categoryid": 1,
"categoryname": "特色菜",
"foods": {
"foodid": 1,
"name": "西蓝花炒牛肉 Tr",
"info": "西蓝花炒牛肉",
"price": 13.99,
"stock": 99999,
"image_url": "http://0.0.0.0:8000/media/food/2019/09/Recedetangle_21_Copy_8.png",
"num": 0,
"status": "True"
}
},
{
"categoryid": 2,
"categoryname": "小炒",
"foods": ""
},
{
"categoryid": 3,
"categoryname": "粥粉面",
"foods": ""
},
{
"categoryid": 4,
"categoryname": "汤品",
"foods": {
"foodid": 3,
"name": "人参汤 Tr",
"info": "人参汤",
"price": 9.82,
"stock": 22222,
"image_url": "http://0.0.0.0:8000/media/food/2019/09/Rectangle_21_Copy_8.png",
"num": 0,
"status": "True"
}
},
{
"categoryid": 5,
"categoryname": "围餐",
"foods": ""
}
]
每个 foods 分类下只显示一个菜品,其他都没显示