问题描述
我想序列化/反序列化一个没有固定键的对象。
我知道有用于此目的的 DictField。
但是,由于这是一个字段,而不是序列化程序,我需要一个将 dictfield 包装为根对象键的序列化程序。
这意味着,使用 DictField,我可以接受对象,
{
'some_field_name_for_dictfield': {
'unkNown_key1': 'value1','unkNown_key2': 'value2','unkNown_key3': 'value3',...
}
}
但仍然无法处理对象,
{
'unkNown_key1': 'value1',}
当然,简单地使用 json.loads(request.data)
工作正常,但我没有生成正确的架构。
然而,我想要的是,
- 使用序列化器
- 将其分配为 serializer_class
- 使用 drf-yasg 自动创建 swagger 文档
一种可能的解决方法是,手动将 swagger_auto_schema 装饰器的 request_body 参数设置为手动 openapi 格式规范。但这对我来说是最不利的选择。
总而言之,我想对未指定的键使用序列化程序,以便为 drf-yasg 正确生成架构。为了实现这一点,我应该几乎完全重写 drf 的序列化程序类吗?或者有一个简单的方法吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)