在django中查詢獲取數(shù)據(jù),get, filter,all(),values()操作
django 中當(dāng)我們要查詢獲取數(shù)據(jù)時:
數(shù)據(jù)庫中的信息:
如一個學(xué)生信息表 students:
get方法:
students.objects().get(a = b)
其中a為students表中的一個屬性如id,name 等
如:students.objects().get(name = ‘張三') 即獲取name為張三的學(xué)生的信息
filter 用法與get相同
但是get必須只能取一個數(shù)據(jù)
filter 能去0,1,多個數(shù)據(jù)
即上述中如果表中有多個學(xué)生都叫張三同名了,get就會報錯
同樣表中沒有叫張三的學(xué)生也會報錯
filter則不報錯,所以在要精準(zhǔn)查詢時用get
students.objects().all() 是獲取表中所有的數(shù)據(jù)
values(a)屬性可以加在上述三個的末尾,表示只獲取a屬性:
students.objects().all().values('name')即獲取到所有的表中的姓名,返回一個字典組成的列表[{‘name':‘張三'},{‘name':‘李四'},。。。]
students.objects().filter(name = ‘張三').values('id'), 只返回名為張三的學(xué)生的id,不返回其他屬性了。
補(bǔ)充知識:django filter過濾器實現(xiàn)顯示某個類型指定字段不同值
1,前端樣式

2,html代碼
{% load asset_filter %}
<div class="col-sm-2">
<select class="input-sm form-control select2 inline" name="ServiceModel">
<option value="">模塊</option>
{% for i in 'Ecs'|ecs_model_field_distinct:'ServiceModel' %}
{% if i.0 %}
<option value="{{ i.0 }}">{{ i.0 }}</option>
{% endif %}
{% endfor %}
</select>
</div>
3,后端代碼
asset_filter.py 內(nèi)容如下:
@register.filter(name='ecs_model_field_distinct')
def ecs_model_field_distinct(model_name, field_name):
'''
獲取model_name模塊對象的某個屬性field_name的distinct值,返回值的數(shù)組
:param model_name:
:param field_name:
:return:
'''
asset_app = apps.get_app_config('rule')
return asset_app.get_model(model_name).objects.all().values_list(field_name).distinct()
以上這篇在django中查詢獲取數(shù)據(jù),get, filter,all(),values()操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python實現(xiàn)根據(jù)指定字符截取對應(yīng)的行的內(nèi)容方法
今天小編就為大家分享一篇python實現(xiàn)根據(jù)指定字符截取對應(yīng)的行的內(nèi)容方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
把MySQL表結(jié)構(gòu)映射為Python中的對象的教程
這篇文章主要介紹了簡單地把MySQL表結(jié)構(gòu)映射為Python中的對象的方法,用到了Python中的SQLAlchemy庫,需要的朋友可以參考下2015-04-04
使用python生成大量數(shù)據(jù)寫入es數(shù)據(jù)庫并查詢操作(2)
這篇文章主要介紹了使用python生成大量數(shù)據(jù)寫入es數(shù)據(jù)庫并查詢操作,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09
python?chinesecalendar報錯:"no?available?data?for?ye
這篇文章主要介紹了python?chinesecalendar報錯:“no?available?data?for?year?{},?only?year?between?[{},?{}]?supported“的相關(guān)知識,需要的朋友可以參考下2023-03-03
Python使用urllib模塊對URL網(wǎng)址中的中文編碼與解碼實例詳解
這篇文章主要介紹了Python使用urllib模塊對URL網(wǎng)址中的中文編碼與解碼(Python使用urllib模塊對URL編碼與解碼)實例詳解,需要的朋友可以參考下2020-02-02
python實現(xiàn)進(jìn)度條和系統(tǒng)通知的示例詳解
這篇文章主要和大家分享兩個有意思的Python小工具,可以優(yōu)雅地實現(xiàn)進(jìn)度條和系統(tǒng)通知,文中的示例代碼簡潔易懂,有需要的小伙伴快也跟隨小編一起學(xué)習(xí)一下2023-11-11
Django 拼接兩個queryset 或是兩個不可以相加的對象實例
這篇文章主要介紹了Django 拼接兩個queryset 或是兩個不可以相加的對象實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
詳解如何優(yōu)化和調(diào)整Python中Scrapy的性能
在本篇高級教程中,我們將深入探討如何優(yōu)化和調(diào)整Scrapy爬蟲的性能,以及如何處理更復(fù)雜的抓取任務(wù),如登錄,處理Cookies和會話,以及避免爬蟲被網(wǎng)站識別和封鎖,需要的朋友可以參考下2023-09-09

