Después de buscar durante tanto tiempo, finalmente lo encontré. Gracias chicos: https://www.cnblogs.com/gcgc/p/11320636.html
He estado usando el propio serializador de Django: serializers.serialize ('json', queryset) antes de la serialización, pero filtrará automáticamente muchos campos, y solo pk es el campo de clave principal, por lo que no se pueden obtener los campos obligatorios. (Es el método tres, habrá debajo del estilo específico)
¡Al final! ! ! ! ! El cielo dio sus frutos y finalmente encontró un camino.
archivo models.py:
# RESFUL_DJ/app/models.pyfrom django.db import models
# Create your models here.
class Publisher(models.Model):
name = models.CharField(max_length=32, verbose_name='名称', unique=True)
address = models.CharField(max_length=128, verbose_name='地址')
def __str__(self):
return self.name
class Meta:
db_table = 'db_publisher'
verbose_name = "出版商"
verbose_name_plural = verbose_name
Contenido de la base de datos:
Obtenga todos los datos de la base de datos y envíelos al front-end en formato json.
Aquí viene, aquí viene
método uno:
from django.http import HttpResponse
from app import models
def publisher_list(request):
'''
通过不同的方法,展示所有的出版社对象
:param request: 请求
:return: 出版社对象
'''
queryset = models.Publisher.objects.all()
# 方法一
data = []
# 这个方法的缺点就是:
# 如果字段多了的话,就需要一个一个去写,会很麻烦
# 返回的是字典类型,所以需要json转换成json格式字符串
for i in queryset:
p_tmp = {
"name": i.name,
"address": i.address
}
data.append(p_tmp)
import json
return HttpResponse(json.dumps(data), content_type='application/json')
resultado:
Método dos:
from django.http import HttpResponse
from app import models
def publisher_list(request):
'''
通过不同的方法,展示所有的出版社对象
:param request: 请求
:return: 出版社对象
'''
queryset = models.Publisher.objects.all()
# 方法二
data = []
# django自带的模型转字典方法
# 缺点就是图片之类的文件无法转换
# 返回的是字典类型,所以需要json转换成json格式字符串
from django.forms.models import model_to_dict
for i in queryset:
data.append(model_to_dict(i))
import json
return HttpResponse(json.dumps(data), content_type='application/json')
resultado:
Método tres: (es él, me jugó durante mucho tiempo)
from django.http import HttpResponse
from app import models
def publisher_list(request):
'''
通过不同的方法,展示所有的出版社对象
:param request: 请求
:return: 出版社对象
'''
queryset = models.Publisher.objects.all()
# 方法三
# 导入django自带的序列化器
# # 返回的是json字符串,不需要再用json转换一次了
from django.core import serializers
data = serializers.serialize('json', queryset)
return HttpResponse(data, content_type='application/json')
Resultado: (El campo de campos no se puede obtener o es muy difícil de obtener)