首页 > 其他分享 >django组件:批量操作、分页器思路及自定义分页器

django组件:批量操作、分页器思路及自定义分页器

时间:2022-12-20 16:44:40浏览次数:69  
标签:... obj 分页 自定义 models django book dict 序列化

目录

django内置序列化组件(drf前身)

urls.py:
# 序列化组件
path('ab_ser/',views.ab_ser),

views.py:
'''前后端分离的项目 视图函数只需要返回json格式的数据即可'''
from app01 import  models
from django.http import JsonResponse
def ab_ser(request):
    # 1.查询所有的书籍对象
    book_queryset = models.Book.objects.all()  # queryset[对象、对象]
    # # 2.封装成大字典返回(自己手动处理)
    # data_dict = {}
    # for book_obj in book_queryset:
    #     tmp_dict = {}
    #     tmp_dict['pk'] = book_obj.pk
    #     tmp_dict['title'] = book_obj.title
    #     tmp_dict['price'] = book_obj.price
    #     tmp_dict['info'] = book_obj.info
    #     data_dict[book_obj.pk] = tmp_dict  #{1:{},2:{},3:{},4:{}}
    # return JsonResponse(data_dict)

    # 导入内置序列化模块(djano自带)
    from django.core import  serializers
    # 调用该模块下的方法,第一个参数是你想已什么样的方式序列化你的数据
    res = serializers.serialize('json',book_queryset) # json序列化数据
    return HttpResponse(res)

image
阅读不是太友好,需要借助于bejson工具,把相关数据拷贝过去阅读:https://www.bejson.com/
image

批量操作数据

def ab_bk_func(request):
    # 1.往books表中插入10万条数据
    # for i in range(1, 100000):
    #     models.Books.objects.create(title='第%s本书' % i)
    """直接循环插入 10s 500条左右"""
    book_obj_list = []  # 可以用列表生成式[... for i in ... if ...]     生成器表达式(... for i in ... if ...)
    for i in range(1, 100000):
        book_obj = models.Books01(title='第%s本书' % i)  # 单纯的用类名加括号产生对象
        book_obj_list.append(book_obj)
    # 批量插入数据
    models.Books01.objects.bulk_create(book_obj_list)
    """使用orm提供的批量插入操作 5s 10万条左右"""
    # 2.查询出所有的表中并展示到前端页面
    book_queryset = models.Books01.objects.all()
    return render(request, 'BkPage.html', locals())

分页器

自定义分页器的使用

form组件

标签:...,obj,分页,自定义,models,django,book,dict,序列化
From: https://www.cnblogs.com/winter-yu1989/p/16994566.html

相关文章

  • django取消debug获取不到静态资源
    1.debug=True状态下我们可以看到mysql查询语句的打印,如何不显示这些打印呢2.setting修改一下内容DEBUG=FalseifDEBUGisTrue:STATICFILES_DIRS=(os.path.j......
  • django基本流程
    创建项目django-adminstartprojectwebcdwebpythonmanage.pystartappweblist生成迁移文件pythonmanage.pymakemigrations生成迁移数据pythonmanage.py......
  • django组件使用
    django内置序列化组件(drf前身)'''前后端分离的项目视图函数只需要返回json格式的数据即可'''fromapp01importmodelsfromdjango.httpimportJsonResponsedefa......
  • 解决python无法导入自定义类的问题
    问题:在自定义了类之后,想在另外一个文件导入自定义类,无法导入目录:在class_test.py中自定了类在test.py中导入类A,出现问题解决方法:test.py:importsysimportos......
  • Python3 Robot Framework CustomLibrary 封装系统关键字(使用自定义函数)
    1.创建一个python文件,确认能够执行,放入任意一个目录(如C:\CustomLibrary\helloworld.py)。#-*-coding:utf-8-*-defhi(name):u'''接收一个名字,并问候.例如|......
  • Vue.js:el-input自动获取焦点通过自定义指令实现v-focus
    文档https://v2.cn.vuejs.org/v2/guide/custom-directive.html使用el-input组件提供的参数autofocus自动获取焦点,效果不是很好Vue.js2官网提供的示例importVuefr......
  • django模型层之models入门篇(filed options)
    一、新建一个django项目,注册两个app分别为tournament、comment,其中models的代码分别为:#tournament/models.pyfromdjango.dbimportmodelsclassClub(models.Model......
  • django框架(七)
    (3)Q查询进阶操作研究查询条件的左边是什么?字段名还是变量名?models.Book.objects.filter(pk=1)发现是变量名如果想让左边不是变量名而是字段名,则需要用到Q查询Q:还可......
  • 一个Android自定义控件差点害我把工作丢了……
    在开发过程中,没有差不多这个概念,差之毫厘谬以千里。一款好的产品,经过了很多的工序,包括市场调研,产品策划,美工设计,开发测试上线等。每一个环节扣在一起,完美对接才能被用户所接......
  • Django之Ajax
    什么是Ajax?ajax全名:asyncjavascriptandXML(异步JavaScript和XML)是前后台交互的能⼒,也就是我们客户端给服务端发送消息的⼯具,以及接受响应的⼯具AJAX不是新......