六、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)

 

posted @ 2024-12-03 16:45  蜗牛·哥  阅读(32)  评论(0)    收藏  举报