from rest_framework.fields import Field
classMinxinCustomField:"""
想要什么格式,您就尽管设置什么格式
下面右边的格式定义,在rest_framework.fields Field
"""def__init__(self,*args,**kwargs):ifhasattr(self,'serializer_field_mapping')andhasattr(self,'CustomField'):
custom_fields =[cf for cf indir(self.CustomField)ifnot(cf.startswith('__')and cf.endswith('__'))]for default_models_field, default_field in self.serializer_field_mapping.items():for field in custom_fields:ifissubclass(default_field, Field)and field == default_field.__name__:
self.serializer_field_mapping.update({
default_models_field:getattr(self.CustomField, field)})breaksuper(__class__, self).__init__(*args,**kwargs)