查詢資料
all()方法
返回值: queryset容器物件,內部存放 mymodel 例項
示例:
from bookstore import models
books = models.book.objects.
all(
)for book in books:
print
("書名"
, book.title,
'出版社:'
, book.pub)
在模型類中定義def __str__(self):
方法可以將自定義預設的字串
class
book
(models.model)
: title =..
.def
__str__
(self)
:return
"書名: %s, 出版社: %s, 定價: %s"
%(self.title, self.pub, self.price)
查詢返回指定列(字典表示)
返回值: queryset
示例:
from bookstore import models
books = models.book.objects.values(
"title"
,"pub"
)for book in books:
print
("書名"
, book[
"title"],
'出版社:'
, book[
'pub'])
print
("book="
, book)
查詢返回指定列(元組表示)
返回值: queryset容器物件,內部存放元組
print(all_books.query),列印出對應的sql語句
示例:
from bookstore import models
books = models.book.objects.values_list(
"title"
,"pub"
)for book in books:
print
("book="
, book)
# ('python', '清華大學出版社')...
排序查詢
說明: 預設是按照公升序排序,降序排序則需要在列前增加』-'表示
示例:
from bookstore import models
books = models.book.objects.order_by(
"price"
)for book in books:
print
("書名:"
, book.title,
'定價:'
, book.price)
根據條件查詢多條記錄
說明:示例:
# 查詢書**版社為"清華大學出版社"的圖書
from bookstore import models
books = models.book.objects.
filter
(pub=
"清華大學出版社"
)for book in books:
print
("書名:"
, book.title)
2. 查詢author實體中id為1並且isactive為true的
- authors=author.objects.
filter(id
=1,isactive=
true
)
查詢謂詞
__exact
: 等值匹配
author.objects.
filter
(id__exact=1)
# 等同於select * from author where id = 1
__contains
: 包含指定值
author.objects.
filter
(name__contains=
'w')
# 等同於 select * from author where name like '%w%'
__startswith
: 以 *** 開始
__endswith
: 以 *** 開始
__gt
: 大於指定值
author.objects.filer(age__gt=50)
# 等同於 select * from author where age > 50
__gte
: 大於等於
__lt
: 小於
__lte
: 小於等於
__in
: 查詢資料是否在指定範圍內
author.objects.
filter
(country__in=
['中國'
,'日本'
,'南韓'])
# 等同於 select * from author where country in ('中國','日本','南韓')
__range
: 查詢資料是否在指定的區間範圍內
# 查詢年齡在某一區間內的所有作者
author.objects.
filter
(age__range=(35
,50))
# 等同於 select ... where author between 35 and 50;
詳細內容參見:
不等的條件篩選
示例:
books = models.book.objects.exclude(pub=
"清華大學出版社"
, price__gt=50)
for book in books:
print
(book)
查詢指定的一條資料
返回值:
說明:示例:
from bookstore import models
book = models.book.objects.get(id=
1)print
(book.title)
修改單個實體的某些字段值的步驟:
查
改
儲存
通過 queryset 批量修改 對應的全部字段
刪除單個物件
刪除查詢結果集
hibernate與mysql之間的查詢總結
hibernate與mysql之間的查詢 簡單的查詢 test public void testhql 01 session.gettransaction commit session.close 條件查詢 test public void testhql 02 session.gettransac...
MySQL與PG之間的區別
innodb的基於回滾段實現的mvcc機制,相對pg新老資料一起存放的基於xid的mvcc機制,是佔優的。新老資料一起存放,需要定時觸 發vacuum,會帶來多餘的io和資料庫物件加鎖開銷,引起資料庫整體的併發能力下降。而且vacuum清理不及時,還可能會引發資料膨脹。2 mysql採用索引組織表,...
Django利用ORM建立表與表之間的外來鍵關係
引子 我們先用乙個案例來捋一下表與表之間的關係 然後再通過 實現。book書籍表 1 水滸傳 10000 2 西遊記 20000 3 三國演義 30000 4 紅樓夢 40000 author作者表 1 gary 18 2 jack 20 publish出版社表 1 新華出版社 北京 2 西方出版社...