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.pswp.cn/diannao/42512.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/42512.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/42512.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

std::deque和std::list的區別是什么

std::deque&#xff08;雙端隊列&#xff09;和std::list&#xff08;雙向鏈表&#xff09;是C標準模板庫&#xff08;STL&#xff09;中兩種不同的序列容器&#xff0c;它們在內部實現、性能特性和使用場景上存在一些關鍵區別。以下是對這些區別的詳細分析&#xff1a; 1. 內…

vue3.0所采用的composition Api與vue2.x使用的Option Api有什么區別

Vue 3.0 引入了 Composition API&#xff0c;與 Vue 2.x 使用的 Options API 相比&#xff0c;有幾個重要的區別和優勢&#xff1a; 代碼組織方式&#xff1a; Options API&#xff08;Vue 2.x&#xff09;&#xff1a; 將相關功能的代碼組織在一個對象中&#xff08;如 data、…

昇思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…

JavaScript-實例-button

1 需求 2 接口 3 點擊button跳轉到一個頁面 在HTML中&#xff0c;當你想要點擊一個按鈕并跳轉到另一個頁面時&#xff0c;通常你可以使用<a>標簽來包裹按鈕的樣式&#xff08;盡管這通常不是最佳實踐&#xff0c;因為<a>標簽是用于鏈接的&#xff0c;而<button&…

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…

Groovy中,多種循環方式

1.最常規的for循環 for (def i 0; i < 5; i) { //這個i需要聲明println "遍歷輸出${i}" }2.while循環 def j 0 while (j < 5) {println "遍歷輸出 ${j}"j }3.for in 循環 def list [0, 1, 2, 3, 4] //這個l無需聲明 for (l in list) { printl…

uniapp跨域問題解決

找到menifest文件&#xff0c;在文件的最后添加如下代碼&#xff1a; // h5 解決跨域問題"h5":{"devServer": {"proxy": {"/adminapi": {"target": "https://www.demo.com", // 目標訪問網址"changeOrigin…

數據庫的存儲引擎,數據類型,約束條件,嚴格模式

【一】存儲引擎 1.什么是存儲引擎存儲引擎可以理解為處理數據的不同方式 2.查看存儲引擎show engines; 3.須知的引擎MyISAM5.5之前版本MySQL默認的存儲引擎特點:存取數據的速度快 但是功能很少 安全性較低速度快因為自帶索引InnoDB5.5之后版本MySQL默認的存儲引擎特點:有諸多功…

工程施工合同無效但竣工交付,應當參照合同關于工程價款的約定計算折價補償款

審判實踐中&#xff0c;對于建設工程施工合同無效但工程竣工并交付使用的&#xff0c;應以何種標準計算折價補償款的問題&#xff0c;認識不一致。【法官會議意見】&#xff1a;建設工程施工合同是承包人進行工程建設、交付工作成果即建設工程并由發包人支付價款的合同。建設工…

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篇區塊鏈文章 請點擊此…

09視圖,觸發器,事務,存儲過程,函數,流程控制,索引,隔離機制,鎖機制,三大范式

【一】視圖 (1)視圖須知概念 1.什么是視圖&#xff1f; 視圖就是通過查詢得到一張虛擬表&#xff0c;然后保存下來&#xff0c;下次可以直接使用 2.為什么要用視圖&#xff1f; 如果要頻繁操作一張虛擬表(拼表組成)&#xff0c;就可以制作成視圖&#xff0c;后續直接操作 注意…