django<model模块和分页功能模块>

2023-10-29

model模块使用


import os,django
os.environ.setdefault('DJANGO_SETTINGS_MODULE','wxy_django.settings')
django.setup()
#指定django的配置
from  user import  models
print(models.Category.objects.all())#查询所有的数据
obj=models.Category.objects.get(id=1)#只返回一条数据,返回多条数据会报错

1、查询数据里面的字段

print(obj.name)
print(obj.create_time)
print(obj.update_time)

2、基本查询

print(models.Article.objects.filter(category_id=2))
print(models.Article.objects.get(category_id=2))

3、新增第一种

models.Article.objects.create(
    title="python123",
    desc="这是描述",
    content="文章内容",
    category_id=2,
    img="https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E5%9B%BE%E7%89%87&step_word=&hs=0&pn=7&spn=0&di=1240&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=233301930%2C3031623456&os=4002187338%2C11148053&simid=0%2C0&adpicid=0&lpn=0&ln=1830&fr=&fmq=1621156603845_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined&copyright=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=11&oriquery=&objurl=https%3A%2F%2Fgimg2.baidu.com%2Fimage_search%2Fsrc%3Dhttp%3A%2F%2Fup.enterdesk.com%2Fedpic%2F4c%2Fa6%2F31%2F4ca631a8841304be2351295d50cf801d.jpg%26refer%3Dhttp%3A%2F%2Fup.enterdesk.com%26app%3D2002%26size%3Df9999%2C10000%26q%3Da80%26n%3D0%26g%3D0n%26fmt%3Djpeg%3Fsec%3D1623748607%26t%3D246a17efd499720f13e0273e3e47101a&fromurl=ippr_z2C%24qAzdH3FAzdH3Fooo_z%26e3Bjgpj61jfh_z%26e3Bv54AzdH3FktzitAzdH3Fnl08c_z%26e3Bip4s&gsm=4&rpstart=0&rpnum=0&islist=&querylist=&force=undefined"
)

3、新增第二种

art=models.Article(title="python456",desc="miaoshu",content="pythong456456",category_id=2,img="https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E5%9B%BE%E7%89%87&step_word=&hs=0&pn=7&spn=0&di=1240&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=233301930%2C3031623456&os=4002187338%2C11148053&simid=0%2C0&adpicid=0&lpn=0&ln=1830&fr=&fmq=1621156603845_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined&copyright=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=11&oriquery=&objurl=https%3A%2F%2Fgimg2.baidu.com%2Fimage_search%2Fsrc%3Dhttp%3A%2F%2Fup.enterdesk.com%2Fedpic%2F4c%2Fa6%2F31%2F4ca631a8841304be2351295d50cf801d.jpg%26refer%3Dhttp%3A%2F%2Fup.enterdesk.com%26app%3D2002%26size%3Df9999%2C10000%26q%3Da80%26n%3D0%26g%3D0n%26fmt%3Djpeg%3Fsec%3D1623748607%26t%3D246a17efd499720f13e0273e3e47101a&fromurl=ippr_z2C%24qAzdH3FAzdH3Fooo_z%26e3Bjgpj61jfh_z%26e3Bv54AzdH3FktzitAzdH3Fnl08c_z%26e3Bip4s&gsm=4&rpstart=0&rpnum=0&islist=&querylist=&force=undefined")
art.save()

4、批量按条件修改

models.Article.objects.filter(show_count=0).update(show_count=500)

5、批量修改全部

models.Article.objects.all().update(show_count=900)

6、单个删除

a=models.Article.objects.get(id=5)
a.delete()

7、按条件删除

models.Article.objects.filter(show_count=0).delete()#按照条件删除

8、删除所有的

models.Article.objects.all().delect()

9、查询多条件的

from user import models
f=models.Article.objects.filter(id__gt=1) #大于
f=models.Article.objects.filter(id__lt=5) #小于
f=models.Article.objects.filter(id__gte=5) #大于等于
f=models.Article.objects.filter(id__lte=5) #小于等于

f=models.Article.objects.filter(title__contains="静")#内容包含
f=models.Article.objects.filter(title__startswith='P')#开头包含,区分大小写查询开头包含字母
f=models.Article.objects.filter(title__istartswith='P')#不区分大小写查询开头包含字母
f=models.Article.objects.filter(title__endswith='思')#结尾包含
f=models.Article.objects.filter(img="")#查询一个字段为空
f=models.Article.objects.filter(img="",title__startswith="静")#and条件
from django.db.models import Q
f=models.Article.objects.filter(Q(tag__isnull=True)|Q(img=""))#或条件,需要导入Q包
f=models.Article.objects.filter(id__in=[1,2,3])#id在1,2,3
f=models.Article.objects.exclude(id__in=[1,2,3])#id不在1,2,3
f=models.Article.objects.exclude(img="")#img不等于空
f=models.Article.objects.exclude(img="").count()#出现多少次
f=models.Article.objects.all().order_by("create_time")#默认升序,可以根据多个字段排序
f=models.Article.objects.all().order_by("-create_time")#降序
f=models.Article.objects.get(id=10)#如果不存在会报错
f=models.Article.objects.filter(id=2).first()#返回数据列表的第一条,可以通过f.title方式取到字段值
f=models.Article.objects.filter(id=2).last()#返回数据列表的最后一条
f=models.Article.objects.all()[:10]#limit,返回前10条
f=models.Article.objects.filter(img="").values("title").distinct()#去重,values可以写多个字段
f=models.Category.objects.all().values()
print(f)
f=models.Article.objects.filter(id=2).exists()

10、一对多的查询,通过1查询多,1.多_set.all()

f=models.Category.objects.get(name="python")
print(f.article_set.all()) #查询python下面的所有文章
print(f.article_set.count())#查询python下面的数量
print(f.article_set.filter(show_count__gt=500))#查询python大于500个浏览量的文章

11、一对多的时候,通过多查询一

f=models.Article.objects.get(id=1)
print(f.category.name)#通过某个文章查询文章的所属分类
print(f.category.article_set.all())#通过文章查询文章的分类,再查询分类下面的所有文章

分页

from django.core.paginator import Paginator
L=range(100)
p=Paginator(L,10)#第一个参数是你要分页的数据,是一个list,第二个参数是每页的数据
print(list(p.get_page(2)))
print(p.num_pages)#总页数
print(p.count)#总数
page=p.page(1)
print(page.has_previous())#是否有上一页
print(page.has_next())#是否有下一页
print(page.has_other_pages())#是否有其他页
print(page.next_page_number())#下一个页的页码
print(page.previous_page_number())#上一页的页码
print(p.page_range)#获取分页的范围
print(page.number)#获取当前页码
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

django<model模块和分页功能模块> 的相关文章

随机推荐

  • 线程中断标志位 interrupt()、interrupted()、isInterrupted() 的认识

    常见问题 首先你是怎么去关闭一个开启的线程 调用中断方法之后 线程就立即停止运行吗 带着这两个问题探讨一下 主要围绕着这三个方法讲述 interrupt interrupted isInterrupted 归类为中断 什么是中断标识位 首先
  • 在js中forEach中使用try catch捕获异常

    forEach跳出循环使用try catch 这是我们都知道的 但是今天使用的时候发现出了问题 一 forEach中使用try catch捕获异常 如下图 1 正常情况下try catch是可以捕获到throw里面的内容 并且不会报错 程序
  • 二进制部署K8S

    目录 一 环境准备 1 常见的k8s部署方式 2 关闭防火墙 3 关闭selinux 4 关闭swap 5 根据规划设置主机名 6 在master添加hosts 7 将桥接的IPv4流量传递到iptables的链 8 时间同步 二 部署et
  • wireshark工具使用心得

    抓http包 但是protocal全部为tcp 并且Info也没有解析为http 打开 Edit Preferences 选择Protocals 选择http 在 tcp ports 中加入http端口 抓包数据不完整 清除浏览器缓存 再抓
  • 判断机器IP是公网ip还是内网ip

    首先是恭喜开通blog 对于ip是否是公网ip 网上已经有很多文章进行了描述 但我每次都记不太住 总要查找一下才又清楚 因此决定在这里记录下来 方便以后查询 ip地址分为五类 E类为保留为今后使用 D类为组播地址 用于主机网络地址的就是A类
  • windows套接字I/0模型-IOCP完成端口模型

    在 Windows 网络编程中 IOCP Input Output Completion Port 是一种高性能的 I O 模型 可以使应用程序能够处理大量并发 I O 操作 IOCP 模型主要通过事件通知和回调函数来处理异步 I O 操作
  • 最长01交替子串(浪潮笔试题)

    题意 给一个只有0和1的字符串 允许反转一个连续区间 即0变成1 1变成0 求最长的01交替串多长 允许不连续 我最先想到的是动态规划解法 状态设计方面 首先一个串的状态会有以0结尾和以1结尾两种 然后题目中说允许反转一个连续区间 那么根据
  • 【JavaEE】_JavaScript(WebAPI)

    目录 1 DOM 1 1 DOM基本概念 1 2 DOM树 2 选中页面元素 2 1 querySelector 2 2 querySelectorAll 3 事件 3 1 基本概念 3 2 事件的三要素 3 3 示例 4 操作元素 4 1
  • vue3使用高德地图完成标注点聚合

  • Linux内核提权漏洞CVE-2023-32233复测及POC脚本

    近日 研究人员发现了Linux内核的NetFilter框架中的新漏洞 CVE 2023 32233 该漏洞可被本地用户用于将权限提升为root 并完全控制系统 问题的根源在于tfilter nf tables是如何处理批处理请求的 经过身份
  • C++引用(&)解析:引用的作用,什么时候使用引用,引用与指针的不同

    引用是什么 什么时候使用引用 做函数的参数 做函数的返回值 引用与指针的不同 引用是什么 引用是变量的别名 理论上不开辟新的空间 符号 是类型标识符的一部分 被引用的数据类型 变量名称 如下图中 变量a 与变量ra 指向同一块内存空间 由此
  • 使用python的tkinter模块制作一个计算器

    使用tkinter模块制作的一个简单的计算器 由于刚学这个模块 所以做的不是很好 截图 点击计算后算式区的值会改成结果 可自行在数字触发的函数中添加数字输入就进行计算回显的功能 代码如下 import tkinter as tk impor
  • Python学习笔记(十):包、模块

    一 包 模块 Python中的包相当于文件夹 模块就是 py文件 不同包下有相同名称的模块时 为了区分 可在模块里加上 包名 模块名 路径 这个路径叫做命名空间 注 如果想让一个普通的文件夹变为包 则需要在这个文件夹内添加 init py文
  • 原子操作实现无锁栈

    atomic3 cpp 使用CAS操作实现一个无锁栈 include
  • Vulkan® A Specification Core And Extension::Vulkan文档核心部分和扩展部分对照与翻译说明

    2020 7 1 更 修改和完善某些描述 Vulkan版本 1 2 137 1 2 145 Vulkan文档分成两种 核心部分 核心部分 扩展部分 核心部分是必定要翻译的 对于扩展部分 本人并不是所有扩展都见过 所以对于扩展部分尽可能的翻译
  • Kanzi Shader入门

    1 版本 kanzi默认支持Opengl ES 2 0 在qnx平台可以支持到ES 3 0 2 着色器 kanzi只支持 顶点着色器 和 片段着色器 3 kanzi studio 无法直接使用shader 需要通过画刷和材质间接使用 在 普
  • strongSwan报文交互过程

    通过上篇案例 我们已经初步掌握了如何通过strongSwan配置两台Linux主机之间的IPsec隧道 今天我们再来看一下strongSwan配置IPsec的报文交互过程和转发性能 组网图还是上次的拓扑 首先查看一下在配置完strongSw
  • 使用FFmpeg命令进行hls切片,得到的ts文件时长不准确

    一 问题描述 使用如下FFmpeg命令进行hls切片 ffmpeg i video2 mp4 hls time 1 f hls out m3u8 由于使用了参数 hls time 1 所以预计生成的ts文件时长会是1秒左右 但结果却是最终生
  • 关于把数据库放在阿里云上,实现共享

    本地的数据库只能实现在自己的机器上访问 别人的电脑无法实现访问 因此通过借助阿里云 把数据库放在阿里云上 从而多人都可以通过阿里云的ip来进行访问操作 在试验过程中 难度最大的就是对阿里云一窍不通 不知从何下手 下面进行一下总结 实现的基本
  • django<model模块和分页功能模块>

    model模块使用 import os django os environ setdefault DJANGO SETTINGS MODULE wxy django settings django setup 指定django的配置 fro