Django Restful Framework (二): ModelSerializer


    时常,你需要对django model 的实例进行序列化。ModelSerializer 类提供了一个捷径让你可以根据 Model 来创建 Serializer。

ModelSerializer 类和 Serializer 类一样,不过添加了以下功能:

  • 它会基于 model 自动创建一些字段
  • 它会自动生成一些验证,比如 unique_together 验证。
  • 它包含简单的默认的 create() 和 update()

声明一个 ModelSerializer 看起来是这样:

class AccountSerializer(serializers.ModelSerializer):
    class Meta:
        model = Account
        fields = ('id', 'account_name', 'users', 'created')

自定义字段

class AccountSerializer(serializers.ModelSerializer):
name_1 = SerializerMethodField()
name_2 = CharField(source="account_name") # source 可接字段或方法 class Meta: model = Account fields = ('id', 'account_name', 'users', 'created','name') # fields = "__all__" # exclude = ("users",)
# read_only_fields = ('account_name',)
# extra_kwargs = {'account_name': {'read_only': True}}
def get_name_1(self,obj):
return obj.name

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM