網站首頁 編程語言 正文
2022-09-29
shell操作:
我在使用中是pycharm與數據庫建立連接的一個工具。
使用的環境:
在此處是用在了虛擬環境中。
使用場景:
一般是在創建的表中插入數據后,進行查看,可以代替在“視圖”中——“創建一個函數用于請求指定表中的內容,在瀏覽器中返回”。
在插入表的過程中,有兩個新得知的內容:
第一個是,插入語句中,“insert into book_bookinfo1 values()”,括號里面添加要插入的數據,在插入數據時,如果需要查看表的結構,可以使用語句“desc book_bookinfo1”查看各個字段的順序以及之前設置的類型要求。注意在“insert into”與“book_bookinfo1”中是不需要添加關鍵字“table”的。向數據庫中插入表的內容時,要選中“插入的表”,使用的語句時“use book_bookinfo1”(use 表名),在它們兩者之間也是不需要加“table”的。
第二個是,在此表中,設置了一個“Datetime”類型的字段,它插入數據的格式為“年-月-日 時:分:秒”。
使用shell,進入shell中的命令(在pycharm頁面下面的“終端”中):
python manage.py shell
進入shell 后 ,查詢的實例:
首先,需要導入要查詢的表(例:)
from book.models import BookInfo
注意:在導入模塊中,此處要導入“BookInfo”函數,從"book"中的“models”中導入,要具體到函數所在的".py"文件中。如果沒有詳細到具體文件中,只寫了一個“book”的話,是會報錯的,一個導入錯誤(“ImportError”)。
查看表內所有存儲的內容:
BookInfo.objects.all()
? 注意:查詢“BookInfo1”表中的所有內容,“object”要加上“s”,之前沒有加上“s”的時候,會出現一個“屬性錯誤(AttributeError)”,后來加上了。
Django項目 ORM常用的十三種查詢方法
all():查詢所有的結果
示例:
publisher = models.Publisher.objects.all() ? ? ? ? #查詢所有的出版社信息
get():
publisher = models.Publisher.objects.get(id = 1) ? ?# get查詢數據不存在時會保錯
filter():
publisher = models.Publisher.objects.filter(id = 1) #不存在的時候返回一個空的Queryset 不會報錯
publisher = models.Publisher.objects.filter(id = 1)[0] #就算查詢的結果只有一個 返回的也是一個Queryset 列表 ?要用索引的方式取出第一個元素
exclude():
publisher = models.Publisher.objects.exclude(id = 1) ? #排除掉id等于1的數據
values():
publisher = models.Publisher.objects.values("name","type") ? #返回一個Queryset對象 ?里面全是字典 ? 為空的話 ?默認查出所有數據
values_list():
publisher = models.Publisher.objects.values_list("name") # ?返回一個Queryset對象 ?里面全是列表為空的話 ?默認查出所有數據
order_by():
publisher = models.Publisher.objects.all().order_by("time") ? #根據xxx排序
reverse(): #反轉
publisher = models.Publisher.objects.all().order_by("time") .reverse() ?#只能對有序的Queryset ?進行反轉
count(): 返回Queryset中對象的數量
publisher = models.Publisher.objects.all().count()
frist(): 返回Queryset中第一個對象
publisher = models.Publisher.objects.all().frist()
last():返回Queryset中最后一個對象
publisher = models.Publisher.objects.all().last()
exists(): ?查詢表中是否有數據 ?有就返回True ?沒有就是False
publisher = models.Publisher.objects.exists()
原文鏈接:https://www.cnblogs.com/isDaHua/archive/2022/09/29/16742324.html
相關推薦
- 2023-01-03 Redis實現優惠券限一單限制詳解_Redis
- 2022-02-13 Chrome控制臺報錯:無法加載 SourceMap 錯誤:狀態代碼 404,net::ERR_HT
- 2023-01-23 Electron打包React生成桌面應用方法詳解_React
- 2022-05-07 Python中list列表的賦值方法及遇到問題處理_python
- 2022-06-08 換掉你的@RefreshScope吧
- 2022-12-14 正則表達式匹配0-10的正整數以及使用細節_正則表達式
- 2021-11-29 Docker部署前后端分離項目的實現示例_docker
- 2022-12-04 go高并發時append方法偶現錯誤解決分析_Golang
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支