未指定`basename`参数,并且可以'\ [英] `basename` argument not specified, and could ' \
问题描述
我一次又一次遇到以下错误.我正在尝试从解决早晨,但是什么也没发生.
I am getting the below error again and again.I am trying to solve it from morning but nothing is happening.
assert queryset不是None,未指定'
basename
自变量,并且可以'\ AssertionError:basename
参数未指定,并且可以不会自动从视图集中确定名称,因为它不会具有.queryset
属性.
assert queryset is not None, '
basename
argument not specified, and could ' \ AssertionError:basename
argument not specified, and could not automatically determine the name from the viewset, as it does not have a.queryset
attribute.
models.py
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
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中还有更多模型(表),其他每个模型(表)都是
There are many more models(tables) in models.py, Every other model(table) is
可以很好地获取结果,但是语言模型(表)可以避免错误
working fine for getting results but Language model(table) is givin the error
assert queryset不是None,未指定'
basename
自变量,并且可以'\ AssertionError:basename
参数未指定,并且可以不会自动从视图集中确定名称,因为它不会具有.queryset
属性.
assert queryset is not None, '
basename
argument not specified, and could ' \ AssertionError:basename
argument not specified, and could not automatically determine the name from the viewset, as it does not have a.queryset
attribute.
推荐答案
尝试一下
router.register('ln/languages', views.LanguageView, basename='ln-languages')
或
router.register('ln/languages', views.LanguageView, basename='languages')
您可以查看文档 django-rest-framework-routers
这篇关于未指定`basename`参数,并且可以'\的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!