Django REST Framework测试用例未返回正确查询集问题
Django REST Framework 库存产品API实现分享
我最近用Django REST Framework(DRF)搭建了一个库存产品管理的API,这里把核心实现和测试情况分享给大家:
1. 路由配置
首先在项目的URL配置里,我定义了产品列表的端点,代码如下:
url(r'products/$', views.InventoryList.as_view(), name='product-list')
这个路由会把/products/的请求转发给InventoryList这个基于类的视图处理,命名为product-list方便后续反向解析。
2. 视图与序列化器核心逻辑
我的InventoryList视图继承了DRF的ListAPIView,主要负责返回所有库存产品的查询集。为了让返回结果包含产品关联的评论数据,我在产品序列化器里使用了嵌套序列化器(或者设置depth=1),这样就能把每个产品对应的评论列表一起返回。
3. 测试验证
用Postman发送GET请求到/products/端点时,API正确返回了包含11个产品的完整查询集,返回的JSON格式示例如下:
[
{
"id": 1,
"name": "Biscuits",
"description": "Papadopoulou Biscuits",
"price": "2.52",
"comments": [
{
"id": 1,
"title": "First comments for this",
"comments": "Very tasty",
"rating": 8,
"created_by": "xx"
}
// 其他评论和产品数据省略
]
}
]
整体运行下来,API的GET请求响应符合预期,能完整返回产品及关联的评论信息。
内容的提问来源于stack exchange,提问作者kingJulian
相关产品推荐
相关产品推荐

