使用RoutePythonDjango调用简单函数



这是一个简单的问题,但我想理解它。

我在django rest框架中有一个简单的api rest

router = routers.DefaultRouter()
router.register(r'productos', ChelaViewSet)

这给了我来自模型的数据json,它运行得很好。

类ChelaViewSet:

class ChelaViewSet(viewsets.ModelViewSet):
serializer_class = ChelaSerializer
queryset = Chela.objects.all()

我只想调用一个具有简单函数的类,如";你好世界";当我把URL打印";你好世界"在控制台中,没有更多,没有查询集等…

我能做什么?

Ty

您必须覆盖ModelViewSet的任何一种方法,即要打印要使用的路由。

来自文档:

ModelViewSet类提供的操作为.list().retrieve().create().update().partial_update().destroy()

因此,如果您想为list视图print,您可以执行以下操作:

class ChelaViewSet(viewsets.ModelViewSet):
serializer_class = ChelaSerializer
queryset = Chela.objects.all()
def list(self, request, *args, **kwargs):
print("hello")
# Call the original list method from ModelViewSet
return super().list(request, *args, **kwargs)

这也是一个方便的网站,您可以使用它来检查DRF的视图和序列化程序的代码。

最新更新