时常,你需要对django model 的实例进行序列化。ModelSerializer 类提供了一个捷径让你可以根据 Model 来创建 Serializer。
ModelSerializer 类和 Serializer 类一样,不过添加了以下功能:
- 它会基于 model 自动创建一些字段
- 它会自动生成一些验证,比如 unique_together 验证。
- 它包含简单的默认的 create() 和 update()
声明一个 ModelSerializer 看起来是这样:
1
2
3
4
|
class
AccountSerializer(serializers.ModelSerializer):
class
Meta:
model
=
Account
fields
=
(
'id'
,
'account_name'
,
'users'
,
'created'
)
|
1
2
3
4
5
6
|
class
AccountSerializer(serializers.ModelSerializer):<br> name_1
=
SerializerMethodField()<br> name_2
=
CharField(source
=
"account_name"
)
# source 可接字段或方法
class
Meta:
model
=
Account
fields
=
(
'id'
,
'account_name'
,
'users'
,
'created'
,
'name'
)
# fields = "__all__"
# exclude = ("users",)<br> # read_only_fields = ('account_name',)<br> # extra_kwargs = {'account_name': {'read_only': True}}<br> def get_name_1(self,obj):<br> return obj.name
|