方案1:
# 方案1view.py文件 import json from django.shortcuts import HttpResponse from rest_framework.views import APIView from .models import Course class CourseView(APIView): def get(self, request): course_list = list() for course in Course.objects.all(): course = { "course_name": course.course_name, "description": course.description } course_list.append(course) return HttpResponse(json.dumps(course_list, ensure_ascii=False))
方案2:
# 方案2views.py文件内容 # 导入Django原生的序列化模块 from django.core.serializers import serialize from rest_framework.views import APIView from .models import Course from django.shortcuts import HttpResponse class CourseView(APIView): def get(self, request): origin_data = Course.objects.all() # 开始序列化 serialized_data = serialize("json", origin_data) print(serialized_data) return HttpResponse(serialized_data)
注意:JsonResponse只能对字典操作,其他不行.题外话,不知道的可以不用理会
以上两种方法使用的是一个数据库表模型.
models.py文件
class Course(models.Model): course_name = models.CharField(max_length=32) description = models.CharField(max_length=128) def __str__(self): return self.course_name