未指定`basename`参数,并且可以'\

时间:2019-03-22 09:09:01

标签: django django-models django-rest-framework django-serializer

我一次又一次遇到以下错误。我正在尝试从解决 早晨,但是什么也没发生。

  

assert queryset不是None,未指定'basename参数,并且   可以'\ AssertionError:basename参数未指定,并且可以   不会自动从视图集中确定名称,因为它不会   具有.queryset属性。

models.py

class Language(models.Model):
    A = models.CharField(max_length=50)
    B = models.ForeignKey(User,on_delete=models.CASCADE,null=True)
    C = models.CharField(max_length=60)
    D = models.TextField(max_length=256)
    E = models.BooleanField(default=False)

serializers.py

class LanguageSerializer(serializers.ModelSerializer):
    class Meta:
        model = Language
        fields = ("__all__")

views.py

class LanguageView(viewsets.ModelViewSet):
    queryset = Language.objects.all()
    serializer_class = LanguageSerializer

urls.py

router = routers.DefaultRouter()
router.register('ln/languages', views.LanguageView)

models.py中还有更多模型(表),其他每个模型(表)都是

可以很好地获取结果,但是语言模型(表)可以避免错误

  

assert queryset不是None,未指定'basename参数,并且   可以'\ AssertionError:basename参数未指定,并且可以   不会自动从视图集中确定名称,因为它不会   具有.queryset属性。

1 个答案:

答案 0 :(得分:1)

尝试

router.register('ln/languages', views.LanguageView, basename='ln-languages')

router.register('ln/languages', views.LanguageView, basename='languages')

更多详细信息,请查看文档django-rest-framework-routers