亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-10-21 07:03:15 來源:腳本之家 閱讀:301 作者:luguanyou 欄目:開發技術

這個涉及到的知識點是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 > 14

Blog.objects.filter(pk__gt=14)

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武安市| 永清县| 金溪县| 义乌市| 海丰县| 五华县| 遂溪县| 驻马店市| 惠州市| 垦利县| 吴江市| 牡丹江市| 曲阳县| 保德县| 子洲县| 进贤县| 元朗区| 陆河县| 克什克腾旗| 凤城市| 天门市| 同德县| 神池县| 湖南省| 腾冲县| 隆子县| 鄂温| 贡嘎县| 独山县| 五峰| 泸定县| 嘉禾县| 塔河县| 台中市| 秀山| 同德县| 临澧县| 吉木乃县| 昌都县| 兴国县| 麻阳|