📜  如何在 Django 中将模型数据转换为 JSON?

📅  最后修改于: 2022-05-13 01:55:49.351000             🧑  作者: Mango

如何在 Django 中将模型数据转换为 JSON?

Django 是一个基于Python的高级 Web 框架,允许快速开发和干净、实用的设计。它也被称为包含电池的框架,因为 Django 为包括 Django 管理界面、默认数据库 SQLlite3 等在内的所有内容提供了内置功能。

如何在 Django 中将模型数据转换为 Json 数据?

首先新建项目

django-admin startproject tryJson
cd tryJson

然后在您的项目中创建新应用程序

python manage.py startapp main

在 INSTALLED_APPS 中的tryJson/settings.py中添加您的主应用程序



在主应用程序中编辑models.py

Python3
from django.db import models
  
class Student(models.Model):
    course_choices = (
        ('1','Java'),
        ('2','Python'),
        ('3','Javascript')
        )
    name = models.CharField(max_length=50)
    rollno = models.IntegerField()
    course = models.CharField(max_length=15,
        choices = course_choices)


Python3
from django.urls import path
from .  import *
  
urlpatterns = [
    path("",views.jsondata,name = "jsondata"),
]


Python3
from django.http import JsonResponse
from .models import Students
  
def jsondata(request):
      data list(Students.objects.values())
    return JsonResponse(data,safe = False)


然后要创建模型,我们必须在 cmd 或终端中编写以下命令

python manage.py makemigrations
python manage.py migrate

所以我们创建了我们的模型 Students ,其中包含一些字段,如 name 、 roll no 、 course 。

将一些数据插入模型。

在主应用程序中创建一个新文件

网址.py



蟒蛇3

from django.urls import path
from .  import *
  
urlpatterns = [
    path("",views.jsondata,name = "jsondata"),
]

编写逻辑将模型数据转换为 Json 数据

视图.py

蟒蛇3

from django.http import JsonResponse
from .models import Students
  
def jsondata(request):
      data list(Students.objects.values())
    return JsonResponse(data,safe = False)
  • 使用 values() 方法获取所有数据并使用 list()函数转换为列表并存储在变量中。
  • 返回一个 JsonResponse 并传递数据并放置 safe = False

然后打开cmd或终端来运行这个应用程序

python manage.py runserver

输出 :-