django restframework serializer 增加自定义字段
2018-01-15 14:32
691 查看
在使用django restframework serializer 序列化在django中定义的model时,有时候我们需要额外在serializer中增加一些model中没有的字段。有两种方法实现这个目的。
假设现在有一个Animal模型,其中有name, type, country字段,country为外键。我们在序列化Animal时,需要额外增加外键country的area信息。
方法一修改数据库,利用model 这里就不多解释,主要来说第二种,不修改django的model,直接使用SerializerMethodField(method_name=None)字段。
SerializerMethodFiel是一个read-only字段
当不指定其method_name时,默认为get_field_name
如果使用ModelSerializer并指定字段时,要包含此时定义的字段
假设现在有一个Animal模型,其中有name, type, country字段,country为外键。我们在序列化Animal时,需要额外增加外键country的area信息。
方法一修改数据库,利用model 这里就不多解释,主要来说第二种,不修改django的model,直接使用SerializerMethodField(method_name=None)字段。
class AnimalSerializer(serializers.ModelSerializer): country_area = serializers.SerializerMethodField() class Meta: model = Animal fields = ('id', 'name', 'type','country','country_area') def get_country_area(self, obj): return obj.country.area
SerializerMethodFiel是一个read-only字段
当不指定其method_name时,默认为get_field_name
如果使用ModelSerializer并指定字段时,要包含此时定义的字段
相关文章推荐
- django restframework serializer 增加自定义字段
- django restframework serializer 增加自定义字段
- django restframework serializer 增加自定义字段
- django rest_framework比较完整的自定义实现样例
- Django REST framework的各种技巧——2.serializer
- Django REST framework的技巧—— 2.serializer
- Django rest_framework自定义异常
- django rest framework Serializer
- Django Restframework
- Django rest framework __str__ returned non-string (type NoneType)
- Django REST framework+Vue 打造生鲜超市(六)
- Django项目中model增加了新字段怎样更新?
- django-rest-framework第一次使用使用常见问题
- django rest framework
- tastypie Django REST framework
- Django-rest-framework多条件查询/分页/多表Json
- django rest framework
- 【Django】 rest-framework和RestfulAPI的设计
- Django-REST-framework教程中文版
- Django And Django-Rest-Framework 异常记录