日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

单表 查询

發(fā)布時間:2024/9/21 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单表 查询 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.模板導入

共有的相同html頁面版塊(多個頁面共有的html代碼塊)

在具體頁面{% include '共有的html頁面版塊路徑' %}

2.自定義模板導入 

共有的相似html頁面版塊(html代碼塊內(nèi)容為可變的)

自定義inclusion_tag,頁面模板給裝飾器,函數(shù)返回字典形式的數(shù)據(jù)

在具體頁面{% load 自定義tag的模板名 %}? {% inclusion_tag 函數(shù)名或別名 參數(shù)們 %}

3.母版

定義母版,流程block接口

具體頁面繼承母版

具體頁面完成block接口部分的特有html代碼塊,通過{{ block.super }} 來獲取模板block接口中原有的html代碼塊

三,測試文件運行Django項目

1.加載項目配置文件

import os

os.environ.setdefault("DJANGO_SETTINGS_MODULE","項目名.settings")

2.啟動Django

import django

django.setup()

3.使用項目中的各個模塊

四.簡單增刪改查

1.增

User.objects.create(name='Owen',age=10,birthday='2008-08-08')

user = User(name='Zero', age=8, birthday='2010-06-01')
user.save()

2.查

操作的結(jié)果永遠是一個list

users = User.objects.filter(name='Owen')

只能操作有且只有一條數(shù)據(jù)的記錄

user = User.objects.get(id=1)

3.改

User.objects.filter(name='Owen').update(name='Owen_best')

users = User.objects.filter(name='Owen_best')
for user in users:
user.name = 'Owen'
user.save()

4、刪

User.objects.filter(name='Owen').delete()

user = User.objects.filter(name='Zero').first()
user.delete()

五、單表操作函數(shù)

1. all():查詢所有結(jié)果list,支持正向索引取值[i],支持索引切片[m:n]
2. filter(**kwargs):查詢滿足條件的所有結(jié)果list
3. get(**kwargs):查詢滿足條件的唯一對象obj,查詢結(jié)果不為obj則拋出異常
4. exclude(**kwargs):查詢滿足條件的對立面的所有結(jié)果list
5. order_by(*field):查詢按照指定字段進行排序后的所有結(jié)果list,
'tag_name'代表正序,'-tag_name'代表降序
6. reverse():反轉(zhuǎn)排序查詢的所有結(jié)果list
7. count():統(tǒng)計返回查詢結(jié)果list的長度
8. first():返回查詢結(jié)果中的第一個對象obj
9. last():返回查詢結(jié)果中的最后一個對象obj
10. exists():判斷查詢結(jié)果是否存在,值為布爾類型
11. values(*field):按照指定字段(們)進行查詢,返回存放包含字段
(們)的字典的列表list
12. values_list(*field):同values類似,返回存放數(shù)據(jù)的元組的列表list
13. distinct():從查詢結(jié)果中剔除重復字段(一般和values結(jié)合使用)

六、模糊查詢

user_list = User.objects.filter(id__gte=1)

# 整型相關
age__exact=8 # 確切匹配8
age__in=[8, 10] # 8或10
age__gt=8 # 大于8
age__gte=8 # 大于等于8
age__lt=8 # 小于8
age__lte=8 # 小于等于8
age__range=[8, 10] # 8到10之間
age__isnull=0|1 # 0:is not null | 1:is null

# 字符串相關
name__startswith # 后方模糊匹配
name__endswith # 前方模糊匹配
name__contains # 前后方均模糊匹配
name__regex # 正則匹配
name__istartswith # 不區(qū)分大小寫后方模糊匹配(i開頭就是不區(qū)分大小寫)

# 時間相關
birthday__year=2008 # 時間年份模糊匹配

七、F與Q查詢

from django.db.models import F, Q
# F基于計算 F('字段名')
# 案例一:將id為1的結(jié)果年齡增加1
User.objects.filter(id=1).update(age=F('age')+1)
# 案例二:查詢id是年齡1/4的結(jié)果
user = User.objects.filter(id=F('age')/4)

# Q基于關系 Q('字段條件')
# 與
User.objects.filter(Q(id=1) & Q(age=10)) # id=1 并且 age=10
# 或
User.objects.filter(Q(id=1) | Q(id=2)) # id=1 或 id=2
# 非
User.objects.filter(~Q(id=1)) # id 不為 1

轉(zhuǎn)載于:https://www.cnblogs.com/suncunxu/p/10478358.html

總結(jié)

以上是生活随笔為你收集整理的单表 查询的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。