Estoy obteniendo datos de RetrieveAPIView. Quiero sobrescribirlos.
class PostDetailAPIView(RetrieveAPIView): queryset = Post.objects.all() serializer_class = PostDetailSerializer lookup_field = 'slug'http://127.0.0.1:8000/api/posts/post-python/
me devuelve resultado
{ "id": 2, "title": "python", "slug": "post-python", "content": "content of python" }Quiero sobrescribir esto con algunos parámetros adicionales como
[ 'result': { "id": 2, "title": "python", "slug": "post-python", "content": "content of python" }, 'message':'success' ]Ok, en el comentario hice una llamada incorrecta, desea sobrescribir el método get() de su Vista.
class PostDetailAPIView(RetrieveAPIView): queryset = Post.objects.all() serializer_class = PostDetailSerializer lookup_field = 'slug' def get(self, request, slug): post = self.get_object(slug) serializer = PostDetailSerializer(post) return Response({ 'result': serializer.data, 'message': 'success' }) Notas 1. Nombro el segundo argumento de la función get slug porque es su campo de búsqueda, pero debería ser el nombre que usó en las direcciones URL. 2. En su lugar, podría sobrescribir la función retrieve() 3. Esta es una respuesta específica para su pregunta, también debe leer esta respuesta