六、serializers序列化器-Model:基础应用
步骤一:
1、创建模型类Depart
class Depart(models.Model): db_table = "depart" title = models.CharField(verbose_name="部门", max_length=32) order = models.IntegerField(verbose_name="顺序") count = models.IntegerField(verbose_name="人数")
2、使用命令在数据库中生成表,并自行填入数据,生成表命令如下:
python manage.py makemigrations
python manage.py migrate

3、新建视图类,DepartView, 添加get方法,并在url中使用
class DepartView(MyAPIView): def get(self, request, *args, **kwargs): return Response('get')
4、url配置,<version为版本控制功能使用>,配置完成后,使用postmen访问接口,正常返回表示步骤一配置成功
path('api/<str:version>/tepart/', views.DepartView.as_view())
步骤二:
1、导入serializers,创建序列化器类,请注意序列化器类中字段必须和模型类中的字段对应,但不是必须都需要一一对应
from rest_framework import serializers class DepartSerializer(serializers.Serializer): id = serializers.CharField() order = serializers.IntegerField()
2、修改DepartView中的get方法,应用序列化器
class DepartView(MyAPIView): def get(self, request, *args, **kwargs): depart_object = Depart.objects.all().first() # 序列化器转换JSON格式 ser = DepartSerializer(instance=depart_object) return Response(ser.data)
3、上一步中,数据查询使用 first()为查询一条数据,当需要查询多条数据时,使用 many=True,进行配置。
class DepartView(MyAPIView): def get(self, request, *args, **kwargs): depart_queryset = Depart.objects.all() # 序列化器转换JSON格式 ser = DepartSerializer(instance=depart_queryset, many=True)
return Response(ser.data)

浙公网安备 33010602011771号