model = BookInfo#参考模型类生成字段# fields = "__all__" #生成所有字段#1,生成指定的字段fields = ["id","btitle","mobile"] fields: 生成指定的字段 注意点: 进入到ModelSerializer父类, 1063行源码中存在 3,read_only_fields 目的:可以使用read_only_fields设置只读字段 操作流程: 1,序列化器 #1,定...
fields = '__all__' read_only_fields = ('id', 'author', 'create_date') 1. 2. 3. 4. 5. 6. 如果你希望author不可见并让DRF根据request.user自动补全这个字段,可以按如下修改ArticleSerializer from rest_framework import serializers class ArticleSerializer(serializers.ModelSerializer): author = se...
drf: https://www.django-rest-framework.org/api-guide/fields/#string-fields 核心字段: 每个序列化器字段类构造函数都至少接受这些参数。某些Field类采用其他特定于字段的参数,但应始终接受以下内容: read_only 只读字
like this: class AssetStatusHistorySerializes(serializers.ModelSerializer): """ class Meta: model = AssetStatusHistory exclude = ('asset', ) read_only_fields = '__all__' we will get this: TypeError: The `read_only_fields` option must ...
通过read_only_fields指明只读字段,即仅用于序列化输出的字段 # 继承自serializers.ModelSerializerclassStudentInfoSerializer(serializers.ModelSerializer):classMeta:model=StudentInfo# 指定要依据的模型类fields='__all__'# 自定生成全部字段read_only_fields=['id','name']# 指定列表中的字段仅用于序列化操作 ...
fields 指明为模型类的哪些字段生成 我们可以在python manage.py shell中查看自动生成的 BookInfoModelSerializer的具体实现 >>> from book.serializers import BookInfoModelSerializer >>> BookInfoModelSerializer() BookInfoModelSerializer(): id = IntegerField(label='ID', read_only=True) ...
(self): return self.name 序列化器: class PublishSerializer(serializers.ModelSerializer): create_time = serializers.DateTimeField(required=True) phone = serializers.CharField(max_length=11, read_only=True) class Meta: model = Publish fields = "__all__" exclude = ["email"] read_only_fields...
字段,可以通过read_only 、write_only、required 来设定 is_valid校验 data调用序列化 3.1方法一 编写两个序列化类 编写两个序列化类,一个做数据校验,一个做序列化 classDpModelSerializer(serializers.ModelSerializer):classMeta:model=models.Departfields="__all__"classDp2ModelSerializer(serializers.ModelSerializ...
(不能跟fields同时使用)read_only_fields=['price','publish']# 序列化显示的字段write_only_fields=['title']# 反序列化需要传入的字段#给字段额外添加参数,是反序列化的校验参数,应为用了fields,__all__,就没法控制字段的属性了extra_kwargs={'title':{'max_length':32,'write_only':True}}depth=1#...
import models """ 1) fields中设置所有序列化与反序列化字段 2) extra_kwargs划分只序列化或只反序列化字段 write_only:只反序列化 read_only:只序列化 自定义字段默认只序列化(read_only) 3) 设置反序列化所需的 系统、局部钩子、全局钩子 等校验规则 """ class V2BookModelSerializer(ModelSerializer): ...