Wagtail API-如何排除字段?

问题描述 投票:2回答:1

在Wagtail文档中,有一个部分涉及使用URL查询部分http://docs.wagtail.io/en/v2.2.1/advanced_topics/api/v2/usage.html#removing-all-default-fields从API(?fields=_,title)中删除某些字段。但这是从API使用者角度完成的。我该怎么做才能排除服务器端的某些字段,所以无论用户在URL查询部分键入什么内容,他都将无法获得某些字段。我知道如何排除我添加的字段,只需删除它们api_fields列表即可完成。但是有一些“核心”字段,例如metaid。如何排除那些?

python api django-rest-framework wagtail
1个回答
0
投票

您可以使用自定义视图集注册页面的api端点,而不使用默认的PageAPIViewSet。

例如,如果您只想返回页面的title字段:

from wagtail.api.v2.views import PagesAPIViewSet, PageSerializer


class MyCustomPagesAPIViewSet(PagesAPIViewSet):
    base_serializer_class = PageSerializer

    body_fields = [
        'title',
    ]

    meta_fields = [
        'parent',
    ]


api_router.register_endpoint('pages', MyCustomPagesAPIViewSet)
© www.soinside.com 2019 - 2024. All rights reserved.