ppS*_*Spp 4 django django-models django-serializer django-rest-framework
我一次又一次地收到以下错误。我试图从早上开始解决它,但什么也没发生。
assert queryset is not None, '
basenameargument not specified, and could ' \ AssertionError:basenameargument not specified,并且无法从视图集自动确定名称,因为它没有.queryset属性。
模型.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)
Run Code Online (Sandbox Code Playgroud)
序列化程序.py
class LanguageSerializer(serializers.ModelSerializer):
class Meta:
model = Language
fields = ("__all__")
Run Code Online (Sandbox Code Playgroud)
视图.py
class LanguageView(viewsets.ModelViewSet):
queryset = Language.objects.all()
serializer_class = LanguageSerializer
Run Code Online (Sandbox Code Playgroud)
网址.py
router = routers.DefaultRouter()
router.register('ln/languages', views.LanguageView)
Run Code Online (Sandbox Code Playgroud)
在models.py中有更多的模型(表),每个其他模型(表)是
工作正常以获得结果,但语言模型(表)给出了错误
assert queryset is not None, '
basenameargument not specified, and could ' \ AssertionError:basenameargument not specified,并且无法从视图集自动确定名称,因为它没有.queryset属性。
小智 9
试一下
router.register('ln/languages', views.LanguageView, basename='ln-languages')
Run Code Online (Sandbox Code Playgroud)
或者
router.register('ln/languages', views.LanguageView, basename='languages')
Run Code Online (Sandbox Code Playgroud)
更多细节你可以查看文档django-rest-framework-routers