请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

CategoryViewSet继承RetrieveModelMixin之后只显示category=1的项,并导致与前端连接后,页面无法显示

在6.2的最后老师介绍CategoryViewSet只要继承了RetrieveModelMixin,不用动urls.py就可以单独用ID来显示每一项。

我照做了,发现只有category=1的Category可以显示,当取ID=111时,就显示不了,如下图

但是老师演示的ID=111是可以显示的,我觉得费解,按照代码,queryset要求category=1才可以显示,那么我自己的试验结果是正常的,ID=1就是第一类商品,其他几个第一类商品我试过也是可以显示,老师的任何category_type都能查询出来反而不合理?

用git拉下的完整代码启动后端,前端api里设置host为本地后端,页面无法显示,调试查看错误正是categorys/4无法显示,与这个错误原因相同。

我的解决办法是CategoryViewset里把filter替换成all()以显示所有category。

queryset = GoodsCategory.objects.all()     #filter(category_type=1)

修改之后,前端页面可以正常显示。

但是老师的网站http://shop.projectsedu.com/categorys/2/这种加了ID的直接访问API也不能显示:

"detail": "未找到。"

请问是怎么回事呢?为什么前端设置host=http://shop.projectsedu.com又能找到?

请Bobby老师解答,谢谢!



5a69a2f30001f61205000200.jpg

5a69a2f40001aac505000377.jpg


正在回答

10回答

你加我的qq 442421039

登录后可查看完整回答登录/注册
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信