Django 查询数据

模型参考上一章内容:

Django QuerySet对象,filter()方法-CSDN博客

查询数据可以通过以下方法:

Book.objects.all()
Book.objects.filter() 
Book.objects.get()

1,添加视图函数

Test/app11/views.py

from django.shortcuts import render
from .models import Postdef index(request):posts = Post.objects.all()return render(request, '11/index.html', {'posts': posts})# apps/books/views.pyfrom django.shortcuts import render
from .models import Bookdef book_list_view(request):# 使用filter()方法获取所有价格在10到20之间的书籍# books = Book.objects.filter(price__gte=10, price__lte=20)  # __gte是“greater than or equal to”(大于等于)的缩写,__lte是“less than or equal to”(小于等于)的缩写。# books = Book.objects.filter(price__gt=10)   # 在Django的ORM(对象关系映射)查询中,__gt是过滤条件的一个特殊语法,用于表示“大于”(greater than)。books = Book.objects.filter(price__lt=29.99)   # __lt 是“less than”(小于)的缩写。return render(request, '11/book_list.html', {'books': books})def get_book_view(request):try:# 使用get()方法获取标题为"Python Cookbook"的书籍book = Book.objects.get(id=19)# 现在book变量包含了匹配的书籍对象print(book)return render(request, '11/book_detail.html', {'book': book})except Book.DoesNotExist:# 如果没有找到匹配的书籍,返回错误信息return HttpResponse("Book not found.")except Book.MultipleObjectsReturned:# 如果找到多个匹配的书籍,返回错误信息return HttpResponse("Multiple books found with the same title.")def book_list_view_exclude(request):# 使用exclude()方法获取所有价格不等于10且标题不包含"Python"的书籍books = Book.objects.exclude(price=9.99).exclude(title__icontains="Python")return render(request, '11/book_list_exclude.html', {'books': books})def book_list_view_values(request):# 使用values()方法获取所有书籍的标题和作者books_data = Book.objects.values('title', 'author')print(books_data)for i in books_data:print(type(i))# 将数据传递给模板return render(request, '11/book_list_view_values.html', {'books_data': books_data})def book_list_view_distinct(request):# 使用values()和distinct()方法获取所有不同作者的书籍books_data = Book.objects.values('author').distinct()# 打印查询结果print(books_data)# 将数据传递给模板return render(request, '11/books_distinct.html', {'books_data': books_data})def book_list_view_select(request):books_data = Book.objects.all()print(type(books_data))books_data2 = Book.objects.filter(id=19)print(books_data2)books_data3 = Book.objects.get(id=1)print(books_data3)# 将数据传递给模板return render(request, '11/book_select.html', {'books_data': books_data, 'books_data2': books_data2, 'books_data3': books_data3})

2,添加html代码

Test/templates/11/book_select.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>{{  books_data }}<br/>{{  books_data2 }}<br/>{{  books_data3 }}</body>
</html>

3,添加路由地址

Test/app11/urls.py

from django.urls import path
from . import viewsurlpatterns = [path('index/', views.index, name='index'),path('book_list_view/', views.book_list_view, name='book_list_view'),path('get_book_view/', views.get_book_view, name='get_book_view'),path('book_list_view_exclude/', views.book_list_view_exclude, name='book_list_view_exclude'),path('book_list_view_values/', views.book_list_view_values, name='book_list_view_values'),path('book_list_view_distinct/', views.book_list_view_distinct, name='book_list_view_distinct'),path('book_list_view_select/', views.book_list_view_select, name='book_list_view_select'),
]

4,访问页面

http://127.0.0.1:8000/app11/book_list_view_select/

 

5,注意点

需要注意的是,filter()和get()方法都可以查询数据,但是filter()在查询不到数据时,不会有任何提示,get()则会返回DoesNotExist

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/42512.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

昇思25天学习打卡营第12天|MindSpore-基于MobileNetv2的垃圾分类

基于MobileNetv2的垃圾分类 主要介绍垃圾分类代码开发的方法。通过读取本地图像数据作为输入,对图像中的垃圾物体进行检测,并且将检测结果图片保存到文件中。 1、实验目的 了解熟悉垃圾分类应用代码的编写(Python语言);了解Linux操作系统的基本使用;掌握atc命令进行模型…

Spring学习05-[AOP学习-AOP原理和事务]

AOP原理和事务 AOPAOP底层原理比如下面的代码案例手动模拟AOP 动态代理详解JDK动态代理具体实现 AOP AOP底层原理 当实现了AOP,Spring会根据当前的bean创建动态代理(运行时生成一个代理类) 面试题&#xff1a;为什么执行方法的时候&#xff0c;会执行切面里的通知方法&#xf…

华为机试HJ40统计字符

华为机试HJ40统计字符 题目&#xff1a; 想法&#xff1a; 统计上述题目中的四种字符的个数存入字典中&#xff0c;按指定顺序进行输出 input_str input()str_dict {"alpha": 0, "space": 0, "number": 0, "others": 0}for i in …

ZYNQ-LINUX环境C语言利用Curl库实现HTTP通讯

前言 在Zynq-Linux环境中&#xff0c;需要使用C语言来编写APP时&#xff0c;访问HTTP一般可以使用Curl库来实现&#xff0c;但是在Zynq的SDK中&#xff0c;并没有集成该库&#xff0c;在寻找了很多资料后找到了一种使用很方便的额办法。这篇文章主要记录一下移植Curl的过程。 …

【2024_CUMCM】数据预处理、数据分析、数据可视化

目录 2023-c题-问题1 问题分析 偏度 峰度 箱线图 读图 重采样、降采样、升采样 重采样 降采样 升采样 解题代码 2023-c题-问题1 问题分析 问题说白了就是探究品类和销售量这两个数据他们各自内在联系&#xff0c;根据题意&#xff0c;我们先进行数 据预处理&#…

【C语言】 —— 编译和链接

【C语言】 —— 编译和链接 一、编译环境和运行环境二、翻译环境2.1、 预处理2.2、 编译&#xff08;1&#xff09;词法分析&#xff08;2&#xff09;语法分析&#xff08;3&#xff09;语义分析 2.3、 汇编2.4、链接 三、运行环境 一、编译环境和运行环境 平时我们说写 C语言…

C语言中32位浮点数的格式

以 GNU C为例&#xff0c;它遵循 IEEE 754-2008标准中制定的浮点表示规范。在该规范中定义了 5种不同大小的基础二进制浮点格式&#xff0c;包括&#xff1a;16位&#xff0c;32位&#xff0c;64位&#xff0c;128位&#xff0c;256位。其中&#xff0c;32位的格式被用作标准 C…

使用AOP思想实现开闭原则下的流水日志输出

主要实现思想&#xff1a; 通过实现Convert接口来抽取公共组件&#xff0c;获取想要的标准模型。 现在有两个订单场景&#xff0c;一个保存订单&#xff0c;一个为更新订单。构造如下的服务类&#xff1a; import org.springframework.stereotype.Service;Service public clas…

SHAP(SHapley Additive exPlanations)基于XGBoost模型的可解释机器学习

模型可解释性 这是一个关于错误解释机器学习模型的危险以及正确解释它的价值的故事。如果您发现诸如梯度提升机或随机森林之类的集成树模型的鲁棒准确性很有吸引力&#xff0c;但也需要解释它们&#xff0c;那么我希望您发现这些信息有用且有帮助。 试想一下&#xff0c;我们…

julia系列17: tsp问题代码整理

1. 常用库和基础函数 这里是优化版的函数&#xff1a; using TSPLIB,LKH,Distances,PyPlot MaxNum 10000 tspreadTSPLIB(:att48) dist [round.(Int,euclidean(tsp.nodes[i,:],tsp.nodes[j,:])) for i in 1:tsp.dimension,j in 1:tsp.dimension]; pos(tsp::TSP,t::Vector{In…

uniapp跨域问题解决

找到menifest文件&#xff0c;在文件的最后添加如下代码&#xff1a; // h5 解决跨域问题"h5":{"devServer": {"proxy": {"/adminapi": {"target": "https://www.demo.com", // 目标访问网址"changeOrigin…

httpd目录显示乱码问题

vim /etc/httpd/conf/httpd.conf 在<Directory “/var/www/html”>下添加&#xff1a; IndexOptions CharsetUTF-8重启httpd: systemctl restart httpd.service还是不好看&#xff0c;调整下显示宽度&#xff0c;还是这个位置&#xff1a; <Directory “/var/www/ht…

区块链论文速读A会-ISSTA 2023(2/2)如何检测DeFi协议中的价格操纵漏洞

Conference&#xff1a;ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA) CCF level&#xff1a;CCF A Categories&#xff1a;Software Engineering/System Software/Programming Languages Year&#xff1a;2023 第1~5篇区块链文章 请点击此…

C++面向对象的常见面试题目(一)

1. 面向对象的三大特征 &#xff08;1&#xff09;封装&#xff1a;隐藏对象的内部状态&#xff0c;只暴露必要的接口。 #include <iostream> #include <string>// 定义一个简单的类 Person class Person { private: // 私有成员&#xff0c;外部不可直接访问std…

华为机试HJ37统计每个月兔子的总数

华为机试HJ37统计每个月兔子的总数 题目&#xff1a; 想法&#xff1a; 上述题目实际是一个斐波那契数列&#xff0c;利用斐波那契数列对问题进行求解 input_number int(input())def fib(n):if n < 2:return 1else:n_1 1n_2 1count 2while count < n:n_1, n_2 n_…

【AI资讯】可以媲美GPT-SoVITS的低显存开源文本转语音模型Fish Speech

Fish Speech是一款由fishaudio开发的全新文本转语音工具&#xff0c;支持中英日三种语言&#xff0c;语音处理接近人类水平&#xff0c;使用Flash-Attn算法处理大规模数据&#xff0c;提供高效、准确、稳定的TTS体验。 Fish Audio

机器学习Day12:特征选择与稀疏学习

1.子集搜索与评价 相关特征&#xff1a;对当前学习任务有用的特征 无关特征&#xff1a;对当前学习任务没用的特征 特征选择&#xff1a;从给定的特征集合中选择出相关特征子集的过程 为什么要特征选择&#xff1f; 1.任务中经常碰到维数灾难 2.去除不相关的特征能降低学习的…

Git注释规范

主打一个有用 代码的提交规范参考如下&#xff1a; init:初始化项目feat:新功能&#xff08;feature&#xff09;fix:修补bugdocs:文档&#xff08;documentation&#xff09;style:格式&#xff08;不影响代码运行的变动&#xff09;refactor:重构&#xff08;即不是新增功能…

计算机网络之令牌环

1.令牌环工作原理 令牌环&#xff08;Token Ring&#xff09;是一种局域网&#xff08;LAN&#xff09;的通信协议&#xff0c;最初由IBM在1984年开发并标准化为IEEE 802.5标准。在令牌环网络中&#xff0c;所有的计算机或工作站被连接成一个逻辑或物理的环形拓扑结构。网络中…

排序(2)

我们在排序&#xff08;1&#xff09;中说到选择排序的代码&#xff1a; void SelectSort(int* a,int n) {int begin0,endn-1;int minibegin,maxbegin;for(int ibegin1;i<end;i){if(a[i]>a[max]){maxii;}if(a[i]<a[mini]){minii;}begin;--end;}Swap(&a[beign],&a…