【问题标题】:Wagtail API - how to exclude fields?Wagtail API - 如何排除字段?
【发布时间】:2019-01-28 09:45:21
【问题描述】:

在 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 列表即可。但是有一些“核心”字段,例如metaid。如何排除这些?

【问题讨论】:

    标签: python api django-rest-framework wagtail


    【解决方案1】:

    您可以使用自定义视图集注册页面的 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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 2022-08-03
      • 1970-01-01
      • 1970-01-01
      • 2020-11-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多