python - Wagtail API - 如何排除字段?
问题描述
在 Wagtail 文档中有一个关于从 API 中删除某些字段的部分(http://docs.wagtail.io/en/v2.2.1/advanced_topics/api/v2/usage.html#removing-all-default-fields)通过使用 URL 查询部分?fields=_,title
。但这是从 API 消费者的角度完成的。我可以做些什么来排除服务器端的某些字段,所以无论用户在 URL 查询部分输入什么,他都无法获取某些字段。我知道如何排除我添加的字段,这只需删除它们api_fields
列表即可。但也有一些“核心”领域,例如meta
, id
。我如何排除这些?
解决方案
您可以使用自定义视图集注册页面的 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)
推荐阅读
- java - 如何以编程方式在 Android Studio 中以编程方式更改 NavigationView 的图标颜色
- c++ - MulVAL 中的错误:“mylval”的多重定义;collect2:错误:ld 返回 1 个退出状态
- java - 调用方法来编辑 java 中另一个类的字符串时遇到问题
- javascript - JQuery.getJSON().done() 函数何时被准确调用?
- c++ - std::transform 不适用于静态分配的字符串
- r - 将函数传递给基于 R 正则表达式的工具
- javascript - 对话框打开时如何显示信息文本
- python - Plotly:饼图只显示图例
- javascript - 使用 JSON 数组从用户那里找到最佳时间
- python - 如何在 .txt 文件中每两个字符后添加一个空格?