drf的modelserializers中自定义了字段就必须重写create方法(代码片段)

大聪明Smart 大聪明Smart     2022-12-05     557

关键词:

DRF在写ModelSerializers时,如果你自定义了字段那么必须重写create方法,不然在ModelViewset中调用create方法时会报异常。

class CommentModelSerializers(serializers.ModelSerializer):
    username = serializers.CharField(source='username.username', required=True)

    class Meta:
        model = models.Comment
        fields = ['id', 'content', 'add_time', 'article','username', 'pid']

    def create(self, validated_data):
        uid = validated_data.pop('username').get('username')
        username = models.UserInfo.objects.get(pk=uid)
        validated_data.update('username': username)
        # print(validated_data)
        instance = models.Comment.objects.create(
            **validated_data
        )
        return instance

上边自定义了username字段显示,则必须重写create方法

drf框架之modelserializer序列化器(代码片段)

ModelSerializer是Serializer的子类,序列化和反序列化跟Serializer一样。ModelSerializer与常规的Serializer相同,但提供了:基于模型类自动生成一系列字段基于模型类自动为Serializer生成validators,比如unique_together包含默认的create()和update()的... 查看详情

09.drf-modelserializer(代码片段)

四、模型类序列化器ModelSerializer如果我们想要使用序列化器对应的是Django的模型类,DRF为我们提供了ModelSerializer模型类序列化器来帮助我们快速创建一个Serializer类。ModelSerializer与常规的Serializer相同,但提供了:基于模型类自动... 查看详情

drf框架serializer之modelserializer(代码片段)

一、基本语法在没有使用ModelSerializer序列化器类之前,我们定义的序列化器类都需要添加对应模型类字段的很多字段,如果添加的字段特别多,那么势必会影响开发效率和代码的可读性,因此会选择一种更为简洁的序列化器类来... 查看详情

modelserializer组件(代码片段)

ModelSerializer组件一、DRF模型类序列化器如果我们想要使用序列化器对应的是Django的模型类,DRF为我们提供了ModelSerializer模型类序列化器来帮助我们快速创建一个Serializer类。ModelSerializer与常规的Serializer相同,但提供了:基于模型... 查看详情

drf序列化和反序列化(二:modelserializer)

...没有类似ModelFroms类似的模块,简化字段的编写,当然有ModelSerializer就是这中类型二:ModelSe 查看详情

在 DRF 3 中的 ModelSerializer 上添加非模型字段

】在DRF3中的ModelSerializer上添加非模型字段【英文标题】:Addanon-modelfieldonaModelSerializerinDRF3【发布时间】:2015-08-1608:33:44【问题描述】:如何?即添加一个在我的实际模型中不存在的字段?classTestSerializer(serializers.ModelSerializer):url=... 查看详情

模型类序列化器-modelserializer(代码片段)

...列化器1简介2定义3用法1简介drf提供了模型类序列化器:ModelSerializer。作用就是简化对应django模型类的序列化器的定义。ModelsSerializer与常规的Serializer相同,但提供了:基于模型类自动生成一系列字段基于模型类自动为Serializer生成V... 查看详情

drf-五大方法(重要)(代码片段)

序列化类#BookListSerializer是BookModelSerializer子序列化类classBookListSerializer(serializers.ListSerializer):#自定义的群增群改辅助类,没有必要重写create方法defcreate(self,validated_data):returnsuper().create(validated_data)#获取视图类中的validated_data_list进... 查看详情

drf的serializer和modelserializer(代码片段)

...rField(default=0)goods_front_image=serializers.ImageField()#... 使用ModelSerializer可以免去这种繁琐的一个个添加字段的方式:classGoodsSerializer(serializers.ModelSerializer):classMeta:model=Goodsfields=(‘name‘,‘click_num‘,‘market_price‘,‘add_time‘)使用fiel... 查看详情

模型类序列化器(代码片段)

模型类序列化器DRF提供了模型类序列化器:ModelSerializer作用:简化对应django模型类的序列化器的定义ModelSerializer与常规的Serializer相同,但提供了:基于模型类自动生成一系列字段基于模型类自动为Serializer生成validators,比如字段... 查看详情

drf高级五modelserializer(代码片段)

...。fromrest_frameworkimportserializersclassProductSerializer(serializers.ModelSerializer):classMeta:model=Productfields=__all__#exclude=(created,)#read_only_fields=(email,)指定只读字段#extra_kwargs=created:write_only:TrueMeta属性指定字段—fields__all__指模型下所有字段元组或... 查看详情

drf视图(代码片段)

...文件4.根目录下urls.py--路由匹配5.bms/views.py--视图函数6.bms/modelserializers.py--自定义序列化工具四.进化版:使用自定义混合类和自定义通用类五.超级进化版:使用GenericViewSet通用类六.究极进化版:使用rest_framework帮我们封装好的通用类... 查看详情

drf数据验证+数据存储(代码片段)

1.验证数据的自定义类classBooksDRFt(serializers.ModelSerializer):classMeta:model=Bookfields=‘__all__‘#要验证的字段author=serializers.CharField(required=False)#要验证的字段name=serializers.CharField(min_length=2,error_messa 查看详情

drf图片字段序列化完整路径(代码片段)

...des,area_detail,但结构如下:classChrDetailSerializer(serializers.ModelSerializer):"""年代地层详情序列化"""classMeta:model=Address_Lisfields=(‘region‘,)classLisDetailSerializer(serializers.ModelSerializer):"""岩石地层序列化"""parent_categry=ChrDetailSerializer()classMeta... 查看详情

Django Rest Framework - 如何在 ModelSerializer 中添加自定义字段

】DjangoRestFramework-如何在ModelSerializer中添加自定义字段【英文标题】:DjangoRestFramework-HowtoaddcustomfieldinModelSerializer【发布时间】:2013-01-1301:51:09【问题描述】:我创建了一个ModelSerializer并想添加一个不属于我的模型的自定义字段... 查看详情

drf---序列化(代码片段)

...、Serializer类:底层序列化类-了解类重点:单表序列化2、ModelSerializer类:模型序列化类-核心类重点:多表序列化3、ListSerializer类:群操作序列化类-辅助类重点:辅助完成单表多表群增群改操作" 查看详情

drf框架之serializers序列化组件(代码片段)

...lizers 3.DRF框架serializers分为:第一种Serializer 第二种ModelSerializer 第一种用法之Serializerfromdjango.dbimportmodels#Createyourmod 查看详情

angularjs中自定义指令

学习了angularJS一周,但是大部分时间被自定义指令占用了。博主表示自学互联网好心塞的,发现问题的视觉很狭窄,这比解决问题要更难。这篇文章首先介绍了自定义,然后介绍了在使用自定义指令遇到的问题。 代码模板:... 查看详情