首页 > 其他分享 >57.Django框架之序列化输出

57.Django框架之序列化输出

时间:2024-07-02 19:52:46浏览次数:16  
标签:username models gender 57 list Django queryset user 序列化

Django框架

【一】序列化组件

1)使用案例

  • 在前端获取到后端用户表里面的所有数据,并且格式是列表套字典
# 创建模型表
class User(models.Model):
	username = models.CharField(max_length=32, verbose_name="姓名")
    age = models.IntegerField(verbose_name="年龄")

2)基于JsonResponse序列化数据

# 后端
def ab_ser(request):
    user_queryset = models.User.objects.all()
    # 返回数据格式:[{},{},,{},{},{},{}]
    user_list = []
    for user in user_queryset:
        tmp = {
            'username': user.username,
            'password': user.age,
            'gender': user.get_gender_display(),
        }
        user_list.append(tmp)
    return JsonResponse(user_list, safe=False)
    # return render(request, 'ab_ser.html', locals())
# 前端
<body>
{% for user_obj in user_queryset %}
    <p>{{ user_obj.name }}</p>
{% endfor %}
</body>
# 数据展示
[
{"username": "dream", "password": 18, "gender": "male"}, 
{"username": "meng", "password": 28, "gender": "female"}, 
{"username": "hope", "password": 38, "gender": "others"}
]

3)基于Django自带的serializers组件

# 后端
from django.core import serializers
def ab_ser(request):
    user_queryset = models.User.objects.all()
    res = serializers.serialize('json', user_queryset)
    '''
    serializers 模块内部会帮我们将数据全部变成JSON格式的字符串,并且内部非常的全面
    '''
    return HttpResponse(res)
# 数据展示
[
{"model": "app01.user", "pk": 1, "fields": {"username": "dream", "age": 18, "gender": 1}}, 
{"model": "app01.user", "pk": 2, "fields": {"username": "meng", "age": 28, "gender": 2}}, 
{"model": "app01.user", "pk": 3, "fields": {"username": "hope", "age": 38, "gender": 3}}
]

【二】批量插入

def get_book_bulk(request):
    # 批量插入
    boo_list = []
    for i in range(1000):
        book_obj = models.Book.objects.create(title=f'第{i}本书')
        boo_list.append(book_obj)
    # 批量插入数据
    models.Book.objects.bulk_create(boo_list)
    return render(request, 'books.html', locals())

标签:username,models,gender,57,list,Django,queryset,user,序列化
From: https://www.cnblogs.com/Mist-/p/18280448

相关文章

  • 【实用软件】Deep Freeze冰点还原8.57软件下载及详细安装教程
    ​根据行业数据显示部署和互操作性:提供将软件作为主映像的组成部分而在多个工作站上部署的选项。不同领域的应用证明了云端管理功能:一对多云端执行重新启动、关机、LAN唤醒操作,支持按需或按计划执行。根据使用者情况表明IT运维管理员甚至能够远程锁定子设备键盘和鼠标,禁止任......
  • CH592 CH582 CH573添加广播回调函数
    /**********************************************************************@fnBLE_AdvertiseEventCB**@briefCallbackfromadvertiseover**@paramNone**@returnnone*/voidBLE_AdvertiseEventCB(uint32_ttimeUs){GPIOA_ResetB......
  • fastjson低版本反序列化bug/设计缺陷记录
    1.问题场景 _id正常的赋值相同的代码我们继续跑 _id的值被反序列化到id上了???相同的代码,跑出不一样的反序列化结果,amazing2.问题探究2.1List<FieldInfo>反序列化时会先创建一个List<FieldInfo>每一个FieldInfoList<FieldInfo>的填充方式:遍历Methods[],取出所有的set......
  • warmup(php反序列化+SQL注入)
    warmup(php反序列化+SQL注入)题目界面单看题目界面的话推测可能是SQL注入。题解题目涉及三个附近,主要从index.php和conn.php入手。index.php中有两个功能,一个是检查请求中的Cookie,一个是检查用户提交的用户名和密码。检查Cookie首先要求Cookie中的变量是一个数组,......
  • LeetCode 857. Minimum Cost to Hire K Workers
    原题链接在这里:https://leetcode.com/problems/minimum-cost-to-hire-k-workers/description/题目:Thereare n workers.Youaregiventwointegerarrays quality and wage where quality[i] isthequalityofthe ith workerand wage[i] istheminimumwagee......
  • day33-Django3.2(二)
    四、视图django的视图主要有2种,分别是函数视图和类视图.现在刚开始学习django,我们先学习函数视图(FBV),后面再学习类视图[CBV].4.1、请求方式web项目运行在http协议下,默认肯定也支持用户通过不同的http请求发送数据来。django支持让客户端只能通过指定的Http请求来访问到项......
  • Django之文件上传
    前端 <!DOCTYPEhtml><html><body><h2>UploadFile</h2><formaction="http://127.0.0.1:5000/upload"method="post"enctype="multipart/form-data">Selectfiletoupload:<inputtype=&q......
  • 6、Django-管理员界面-admin
    概念:Django的admin界面是自动生成的,它根据你的模型类自动创建表单和列表视图。你只需将模型类注册到admin界面,就可以轻松地管理和操作数据库中的数据。admin界面提供了各种功能,包括:列表视图:以表格形式展示数据库中的数据,支持分页、搜索和排序功能,方便快速浏览和筛选数据。表......
  • 5、Django-模型-models
    概念:基本模板:模板其实就是我们使用的HTML写好的页面--先在应用的目录下创建模板文件夹templates、然后在templates中创建模板文件、如html--最后在views.py中去渲染模板、使用render函数将模板返回给用户:returnrender(request,'.html')  定义模板:--模板里就是要对......
  • 9、 Django-重定向-Redirect
    导入模块fromdjango.shortcutsimportredirect,reverse 概念:在视图函数中做跳转到其它页面 如:1、views.py---------------------------------------------------------------------------------fromdjango.shortcutsimportrenderfromApp_route.modelsimport*......