【原创】DRF 报错:TypeError: ‘bool’ object is not callable

看YouTube一个DRF教程视频,学习过程中遇到一个错误:

TypeError: 'bool' object is not callable

教程环境:

django<2.0

djangorestframework==3.8.1

DRF官方文档:https://www.django-rest-framework.org/community/3.8-announcement/#deprecations

教程中的代码:

    # /api/music/{pk}/detail/
    @detail_route(methods=['get'])
    def detail(self, request, pk=None):
        music = get_object_or_404(Music, pk=pk)
        result = {
            'singer': music.singer,
            'song': music.song
        }

我用的环境:

django==2.2

djangorestframework==3.11.0

解决办法:

新的框架中取消了from rest_framework.decorators import detail_route, list_route ,改成了from rest_framework.decorators import action 

@detail_route(methods=['get'])
def detail(self, request, pk=None):

这句会报TypeError, bool object is not callable错误

解决办法是更改函数名为其他名字

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据