0

我正在使用带有drf-spectacular包的 Django 来生成 Swagger 文档。我想知道是否有更好的方法可以从 Schema 中的 Enum 部分过滤掉一些值。现在我已经使用自定义钩子完成了这个preprocess_schema_enums

枚举被指定为模型文件中的字段

钩子.py

def preprocess_schema_enums(result, generator, request, public):
  excluded = ['value1', 'value2']
  enums_response = result['components']['schemas']['CustomEnum']['enum']
  filtered = [res for res in enums_resoinse if res not in excluded]
  result['components']['schemas']['CustomEnum']['enum'] = filtered
  return result
4

1 回答 1

1

您正在要求偏离 DRF 实际执行的自定义行为。

没有多少开关和设置可以满足每个用户的特殊要求。后处理挂钩专为那些非标准用例而设计。

因此,您完全按照预期使用了 drf-spectacular。

于 2021-11-01T15:38:38.483 回答