Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django.url.exceptions.NoReverseMatch:与#x27相反;foo列表';没有找到';foo列表';不是有效的视图函数或模式名称_Python_Django_Testing_Django Rest Framework - Fatal编程技术网

Python django.url.exceptions.NoReverseMatch:与#x27相反;foo列表';没有找到';foo列表';不是有效的视图函数或模式名称

Python django.url.exceptions.NoReverseMatch:与#x27相反;foo列表';没有找到';foo列表';不是有效的视图函数或模式名称,python,django,testing,django-rest-framework,Python,Django,Testing,Django Rest Framework,我收到了“找不到receptionop list”的反向消息receptionop list'不是有效的视图函数或模式名称。在我的一个测试用例中,尝试执行以下操作时: reverse('receptionop-list') reverse('receptionoperation-list') 注意:我也尝试了reverse('receptionops-list') 我已将其设置在我的URL中,如下所示: router.register(r'receptionops', views.Recep

我收到了“找不到receptionop list”的反向消息
receptionop list'不是有效的视图函数或模式名称。
在我的一个测试用例中,尝试执行以下操作时:

reverse('receptionop-list')
reverse('receptionoperation-list')
注意:我也尝试了
reverse('receptionops-list')

我已将其设置在我的URL中,如下所示:

router.register(r'receptionops', views.ReceptionOperationViewSet)
对我来说奇怪的是,事实上我还有一个
路由器。register(r'receipt',views.receiptionviewset)
在同一个应用程序中注册,并且使用
reverse('receiptation-list')
可以完美地工作

有人知道这里发生了什么吗

(如果需要,我可以提供一些进一步的信息)

已修复

这里的问题是,我试图将错误的basename
'receptionops'
作为目标。在阅读Django REST框架文档()时,我发现了以下解释:

basename—用于创建的URL名称的基。如果取消设置,则将根据viewset的queryset属性(如果有)自动生成basename。请注意,如果视图集不包含queryset属性,则在注册视图集时必须设置basename

这是我的
前台操作视图集的queryset字段:

queryset = ReceptionOperation.objects.all()
因此,在这种情况下,我应该使用以下方法:

reverse('receptionop-list')
reverse('receptionoperation-list')

现在它工作得很好

与其编辑问题以添加解决方案,不如将其作为答案发布,但是(甚至可以在页面上直接回答问题)向
路由器添加第三个参数。register
调用也可以解决此问题:
路由器。register(r'receptionops',views.ReceptionOperationViewSet,'receptionops')
OK@Filnor。我将在下面回答它!:DOh,很高兴知道,谢谢@RossRogers!