在DRF(Django Rest Framework)的 Serializer 中,以get_开头的方法是 Serializer Method Field 的方法名前缀,用于自定义该字段的值。 例如,如果你有一个 Serializer,里面有一个CharField字段,你可以通过定义一个以get_开头的方法来自定义该字段的值。示例如下: fromrest_frameworkimportserializersclassMySerializer(serial...
class ArticleSerializer(serializers.Serializer): id = serializers.IntegerField(read_only=True) title = serializers.CharField(required=True, allow_blank=True, max_length=90) body = serializers.CharField(required=False, allow_blank=True) author = serializers.ReadOnlyField(source="author.id") status...
fromrest_framework.genericsimportGenericAPIView# 获取所有图书classGetBookView(GenericAPIView):defget(self,request):book_list=self.get_queryset()ser=self.get_serializer(instance=book_list,many=True)returnResponse(ser.data)# 新增图书classNewBookView(GenericAPIView):defpost(self,request):ser=self.get_se...
queryset:要序列化的所有数据 serializer_class:序列化类 lookup_field='pk':查询单条时的key值,默认为pk,可以修改名称如'id'(同时urls路由层的过滤器的名称也得相同<int:id>) 方法: 1 2 3 -get_queryset():获取所有要序列化的数据【后期可以重写】 -get_serializer : 返回序列化类 -get_object :获取单...
return Response(city_serializer.data) def delete(self, req, id): DrfCity.objects.get(pk=id).delete() return Response("删除成功") 23.【drf-更新数据-序列化器save方法】 drf-序列化器的save方法内部,判断如果数据表中有对应数据则更新,否则新创建一条记录。
在DRF中,Serializer用于处理数据序列化和反序列化。Serializer使得数据可以轻松地在Python对象和JSON之间转换,这对于创建RESTful API非常有用。一、安装Django REST Framework首先,确保你已经安装了Django REST Framework。你可以使用pip来安装: pip install djangorestframework 二、创建Serializer在Django REST Framework中,...
restful_api 推荐使用这种格式 /users/id,那么可以考虑重写 get_object() defget_object(self):returnself.request.user serializer 的验证 在serializer 的配置中,有时需要验证某些字段,某些简单的验证可以使用基础的字段来验证,例如验证手机号: mobile=serializers.CharField(max_length=11,min_length=11,required=Tr...
def get(self,request,pk): book_obj = models.book.objects.filter(pk=pk).first() book_ser = BookSerializers(book_obj) return Response(book_ser.data) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 2.2 序列化器实现put修改数据接口 views.py ...
增加serializer_class属性,直接指定使用的序列化器 增加过滤器属性:filter_backends 增加分页属性:pagination_class 增加lookup_field属性和实现get_object()方法:用于获取单条数据,可自定义默认分组名(pk) 基于上面的项目新增app模型: myapp/models.py 代码语言:javascript ...
在序列化器内部写一个get_外键名,会显示指定的数据 get方法接收两个参数 classBookSerializer(serializers.Serializer):id=serializers.IntegerField(required=False,)#required设置后表示改字段可以不传title=serializers.CharField(max_length=32,min_length=2,)price=serializers.DecimalField(max_digits=6,decimal_pla...