电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

django 前端頁面如何實現顯示前N條數據

瀏覽:142日期:2024-10-20 09:17:06

這個涉及到的知識點是django數據庫查詢問題,我們可以在view.py文件中操作

blog_list = models.Blog.objects.all()[:3]

這是選取數據庫的前三條數據

補充知識:django 數據庫查詢—如何獲取指定范圍的數據

檢索對象

__exact 精確等于 like ‘aaa’ __iexact 精確等于 忽略大小寫 ilike ‘aaa’ __contains 包含 like ‘%aaa%’ __icontains 包含 忽略大小寫 ilike ‘%aaa%’,但是對于sqlite來說,contains的作用效果等同于icontains。 __gt 大于 __gte 大于等于 __lt 小于 __lte 小于等于 __in 存在于一個list范圍內 __startswith 以…開頭 __istartswith 以…開頭 忽略大小寫 __endswith 以…結尾 __iendswith 以…結尾,忽略大小寫 __range 在…范圍內 __year 日期字段的年份 __month 日期字段的月份 __day 日期字段的日 __isnull=True/False __isnull=True 與 __exact=None的區別

1、檢索所有的對象

>>> all_entries = Entry.objects.all()

使用all()方法返回數據庫中的所有對象。

2、檢索特定的對象

使用以下兩個方法:

fileter(**kwargs)

返回一個與參數匹配的QuerySet,相當于等于(=).

exclude(**kwargs)

返回一個與參數不匹配的QuerySet,相當于不等于(!=)。

Entry.objects.filter(pub_date__year=2006)

不使用Entry.objects.all().filter(pub_date__year=2006),雖然也能運行,all()最好再獲取所有的對象時使用。

上面的例子等同于的sql語句:

select * from entry where pub_date_year=’2006′

鏈接過濾器:

>>> Entry.objects.filter(… headline__startswith=’What’… ).exclude(… pub_date__gte=datetime.now()… ).filter(… pub_date__gte=datetime(2005, 1, 1)… )

最后返回的QuerySet是headline like ‘What%’ and put_date2005-01-01

另外一種方法:

>> q1 = Entry.objects.filter(headline__startswith=”What”)>> q2 = q1.exclude(pub_date__gte=datetime.now())>> q3 = q1.filter(pub_date__gte=datetime.now())

這種方法的好處是可以對q1進行重用。

QuerySet是延遲加載

只在使用的時候才會去訪問數據庫,如下:

>>> q = Entry.objects.filter(headline__startswith=”What”)>>> q = q.filter(pub_date__lte=datetime.now())>>> q = q.exclude(body_text__icontains=”food”)>>> print q

在print q時才會訪問數據庫。

其他的QuerySet方法

>>> Entry.objects.all()[:5]

這是查找前5個entry表里的數據

>>> Entry.objects.all()[5:10]

這是查找從第5個到第10個之間的數據。

>>> Entry.objects.all()[:10:2]

這是查詢從第0個開始到第10個,步長為2的數據。

>>> Entry.objects.order_by(‘headline’)[0]

這是取按headline字段排序后的第一個對象。

>>> Entry.objects.order_by(‘headline’)[0:1].get()

這和上面的等同的。

>>> Entry.objects.filter(pub_date__lte=’2006-01-01′)

等同于SELECT * FROM blog_entry WHERE pub_date <= ’2006-01-01′;

>>> Entry.objects.get(headline__exact=”Man bites dog”)

等同于SELECT … WHERE headline = ‘Man bites dog’;

>>> Blog.objects.get(id__exact=14) # Explicit form>>> Blog.objects.get(id=14) # __exact is implied

這兩種方式是等同的,都是查找id=14的對象。

>>> Blog.objects.get(name__iexact=”beatles blog”)

查找name=”beatles blog”的對象,不去飯大小寫。

Entry.objects.get(headline__contains=’Lennon’)

等同于SELECT … WHERE headline LIKE ‘%Lennon%’;

startswith 等同于sql語句中的 name like ‘Lennon%’,

endswith等同于sql語句中的 name like ‘%Lennon’.

>>> Entry.objects.filter(blog__name__exact=’Beatles Blog’)

查找entry表中外鍵關系blog_name=’Beatles Blog’的Entry對象。

>>> Blog.objects.filter(entry__headline__contains=’Lennon’)

查找blog表中外鍵關系entry表中的headline字段中包含Lennon的blog數據。

Blog.objects.filter(entry__author__name=’Lennon’)

查找blog表中外鍵關系entry表中的author字段中包含Lennon的blog數據。

Blog.objects.filter(entry__author__name__isnull=True) Blog.objects.filter(entry__author__isnull=False,entry__author__name__isnull=True)

查詢的是author_name為null的值

Blog.objects.filter(entry__headline__contains=’Lennon’,entry__pub_date__year=2008)Blog.objects.filter(entry__headline__contains=’Lennon’).filter( entry__pub_date__year=2008)

這兩種查詢在某些情況下是相同的,某些情況下是不同的。第一種是限制所有的blog數據的,而第二種情況則是第一個filter是

限制blog的,而第二個filter則是限制entry的

>>> Blog.objects.get(id__exact=14) # Explicit form>>> Blog.objects.get(id=14) # __exact is implied>>> Blog.objects.get(pk=14) # pk implies id__exact

等同于select * from where id=14

Get blogs entries with id 1, 4 and 7>>> Blog.objects.filter(pk__in=[1,4,7])

等同于select * from where id in{1,4,7}

Get all blog entries with id > 14Blog.objects.filter(pk__gt=14)

以上這篇django 前端頁面如何實現顯示前N條數據就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 水轮机密封网 | 水轮机密封产品研发生产厂家 | 丝杆升降机-不锈钢丝杆升降机-非标定制丝杆升降机厂家-山东鑫光减速机有限公司 | pbootcms网站模板|织梦模板|网站源码|jquery建站特效-html5模板网 | 哈尔滨京科脑康神经内科医院-哈尔滨治疗头痛医院-哈尔滨治疗癫痫康复医院 | 昆山PCB加工_SMT贴片_PCB抄板_线路板焊接加工-昆山腾宸电子科技有限公司 | 粉末冶金-粉末冶金齿轮-粉末冶金零件厂家-东莞市正朗精密金属零件有限公司 | 底部填充胶_电子封装胶_芯片封装胶_芯片底部填充胶厂家-东莞汉思新材料 | 浙江寺庙设计-杭州寺院设计-宁波寺庙规划_汉匠 | 沈飞防静电地板__机房地板-深圳市沈飞防静电设备有限公司 | 氧化锆陶瓷_氧化锆陶瓷加工_氧化锆陶瓷生产厂家-康柏工业陶瓷有限公司 | 撕碎机_轮胎破碎机_粉碎机_回收生产线厂家_东莞华达机械有限公司 | 变色龙云 - 打包app_原生app_在线制作平台_短链接_ip查询 | EFM 022静电场测试仪-套帽式风量计-静电平板监测器-上海民仪电子有限公司 | LED太阳能中国结|发光红灯笼|灯杆造型灯|节日灯|太阳能灯笼|LED路灯杆装饰造型灯-北京中海轩光电 | 钢木实验台-全钢实验台-化验室通风柜-实验室装修厂家-杭州博扬实验设备 | 航拍_专业的无人机航拍摄影门户社区网站_航拍网 | 上海地磅秤|电子地上衡|防爆地磅_上海地磅秤厂家–越衡称重 | 深圳离婚律师咨询「在线免费」华荣深圳婚姻律师事务所专办离婚纠纷案件 | 电动球阀_不锈钢电动球阀_电动三通球阀_电动调节球阀_上海湖泉阀门有限公司 | 广州昊至泉水上乐园设备有限公司 | 无线联网门锁|校园联网门锁|学校智能门锁|公租房智能门锁|保障房管理系统-KEENZY中科易安 | 手持式线材张力计-套帽式风量罩-深圳市欧亚精密仪器有限公司 | 湖南教师资格网-湖南教师资格证考试网 | 宝鸡市人民医院 | 光栅尺厂家_数显表维修-苏州泽升精密机械 | 家德利门业,家居安全门,别墅大门 - 安徽家德利门业有限公司 | 电缆故障测试仪_电缆故障定位仪_探测仪_检测仪器_陕西意联电气厂家 | 智成电子深圳tdk一级代理-提供TDK电容电感贴片蜂鸣器磁芯lambda电源代理经销,TDK代理商有哪些TDK一级代理商排名查询。-深圳tdk一级代理 | 光伏支架成型设备-光伏钢边框设备-光伏设备厂家 | 精密模具-双色注塑模具加工-深圳铭洋宇通 | 直流电能表-充电桩电能表-导轨式电能表-智能电能表-浙江科为电气有限公司 | 不锈钢反应釜,不锈钢反应釜厂家-价格-威海鑫泰化工机械有限公司 不干胶标签-不干胶贴纸-不干胶标签定制-不干胶标签印刷厂-弗雷曼纸业(苏州)有限公司 | 压装机-卧式轴承轮轴数控伺服压装机厂家[铭泽机械] | 气动隔膜泵-电动隔膜泵-循环热水泵-液下排污/螺杆/管道/化工泵「厂家」浙江绿邦 | 超声波清洗机_超声波清洗机设备_超声波清洗机厂家_鼎泰恒胜 | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 磁力抛光机_磁力研磨机_磁力去毛刺机-冠古设备厂家|维修|租赁【官网】 | 带压开孔_带压堵漏_带压封堵-菏泽金升管道工程有限公司 | 帽子厂家_帽子工厂_帽子定做_义乌帽厂_帽厂_制帽厂 | 纸塑分离机-纸塑分离清洗机设备-压力筛-碎浆机厂家金双联环保 | 合肥地磅_合肥数控切割机_安徽地磅厂家_合肥世佳电工设备有限公司 |