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