序列化字段的微调
drf-optionalfields的Python项目详细描述
Drf opopieldfield为您指定要序列化的字段提供了灵活性。
<有两种混合剂可用: > > OptionalFieldsMixin >:它允许您设置一些可选字段。可以通过get params请求这些字段 <动态> FieldFieldMIN :它允许您只指定需要的字段。fromrest_framework.serializersimportModelSerializerfromdrf_optionalfieldsimportOptionalFieldsMixinclassMyModelSerializer(OptionalFieldsMixin,ModelSerializer):classMeta:model=SomeModelfields=("id","username","address","full_name")optional_fields=("address","full_name")# or combined with DynamicFilterMixinclassMyModelSerializer(OptionalFieldsMixin,DynamicFilterMixin,ModelSerializer):classMeta:model=SomeModelfields=("id","username","address","full_name")optional_fields=("address","full_name")
# You want to see an "address" you have set in the Meta: GET /users/1/?fields=address # You want only to return "username": GET /users/1/?filter=username # You want only to return the optional "full_name": GET /users/1/?fields=full_name&filter=username
感谢wim glen为<;https://github.com/wimglenn/djangorestframework-queryfields>;(djangorestframework queryfields)提供了出色的引导代码