def exclude_omitted_fields(self, request):
field_names = self.get_requested_field_names(request)
self._requested_fields = field_names
if field_names is not None:
# Drop any fields that are not specified in passed query param
allowed = set(field_names)
existing = set(self.fields.keys())
for field_name in existing - allowed:
self.fields.pop(field_name)
for field_name in self.fields:
field = self.fields[field_name]
if isinstance(field, serializers.ListSerializer):
if isinstance(field.child, DynModelSerializer):
field.child.exclude_omitted_fields(request)
elif isinstance(field, DynModelSerializer):
field.exclude_omitted_fields(request)
rest_framework_dyn_serializer.py 文件源码
python
阅读 24
收藏 0
点赞 0
评论 0
评论列表
文章目录