fields=('b_name')classBModelSerializer(serializers.ModelSerializer): b_name = BModelSerializer()classMeta: model=A#这里导入A会把A里面的所有名称空间存在的都进行导入fields=('b_name')#方法二#通过自定义字段classBModelSerializer(serializers.ModelSerializer): b_name = serializers.SerializerMethodField...
hcomment = serializers.CharField(label='描述信息', max_length=200, required=False, allow_null=True)# 英雄关联到的书籍对象,此处必须指定关联到的对象queryset或者指定参数 read_only=True# hbook = serializers.PrimaryKeyRelatedField(queryset=BookInfo.objects.all())hbook = serializers.PrimaryKeyRelated...
# 继承自serializers.ModelSerializerclassStudentInfoSerializer(serializers.ModelSerializer)classMeta:model=StudentInfo# 指定要依据的模型类fields=['id','name']# 列表中设置指定要生成的字段 使用exclude可以明确排除掉哪些字段 # 继承自serializers.ModelSerializerclassStudentInfoSerializer(serializers.ModelSerializer)...
它包括create() 和 update()简单默认实现。 fromrest_frameworkimportserializersclassProductSerializer(serializers.ModelSerializer):classMeta:model=Product fields='__all__'# exclude = ('created', )# read_only_fields = ('email', ) 指定只读字段# extra_kwargs = {'created': {'write_only': True}...
id = serializers.IntegerField(required=False) # 只序列化,不走校验 title = serializers.CharField(max_length=32, validators=[my_validate]) pub_time = serializers.DateField() category = serializers.CharField(source="get_category_display", read_only=True) # 只序列化用 ...
UPDATE: 假如不加上exclude(‘grade’)在前端接收到了grade的值,如果前端不做处理,直接返回修改,ModelViewSet在update函数里进行serializer验证的时候会直接报错”grade值必须唯一”,因为最终保存的方法里可以手动指定grade(并且部分方法需要grade对象而不是grade_id)因此前端并不需要返回grade值。
exclude = ['publish','price'] # 排除哪些字段 Ⅴ read_only_fields -- 序列化显示的,写入时为null 查询时显示,写入时为空 serializer.py模型类序列化 classMeta:#写一个内部类model=models.Book#该序列化类跟哪个表建立关系fields='__all__'#序列化全部字段read_only_fields=['price','publish']#指定...
1.1 Serializer 数据库的数据表结构! class Depart(models.Model): title = models.CharField(verbose_name="部门", max_length=32) order = models.IntegerField(verbose_name="顺序", ) count = models.IntegerField(verbose_name="人数", ) 视图函数编写方式! 编写一个序列化器的类!继承serializers.Serialize...
>>> serializer CommentSerializer(<news.serializers.Comment object>): email = EmailField() content = CharField(max_length=200) created = DateTimeField() >>> image.png 我们已将模型实例转换为 Python 本机数据类型。为了完成序列化过程,我们将数据转换为JSON ...
title = serializers.CharField(max_length=32, validators=[my_validate])pub_time = serializers.DateField()category = serializers.CharField(source="get_category_display", read_only=True) # 只序列化⽤ # 因为前端传的是数字,所以需要重写 post_category = serializers.IntegerField(write_only=True) ...