排序查詢,模糊查詢

2021-10-18 16:41:15 字數 1380 閱讀 8463

排序查詢

根據歌手名下的歌曲數量,對歌手進行降序排序

建立兩個模型

# 建立歌手模型

class

songer

(models.model)

: name = models.charfield(max_length=50)

*** = models.charfield(max_length=20)

img = models.imagefield(upload_to=

'static'

)# 建立歌曲模型

class

sing

(models.model)

: name = models.charfield(max_length=40)

# related_name='sings':因為歌手沒有外來鍵,所以無法通過歌手找到歌曲,就需要設定乙個方法,

# 使用通過歌手模型能夠找到歌曲模型

songer = models.foreignkey(songer,on_delete=models.cascade,related_name=

'sings'

) time = models.datetimefield(auto_now_add=

true

)

排序查詢

def

get(self,request)

:# 查詢所有歌手,並按照其歌曲降序排序,annotate:註解

songer_li = songer.objects.annotate(sings_num = count(

'sings'))

.order_by(

'-sings_num'

).values(

)return response(songer_li)

模糊查詢

def

get(self,request)

:# 接收前端傳來的查詢關鍵字

word = request.get.get(

'word'

)# 利用關鍵字對歌手模糊查詢 __contains:查詢某個字元

songer_li = songer.objects.

filter

(name__contains=word)

.values(

)# 利用關鍵字對歌曲模糊查詢

sing_li = sing.objects.

filter

(name__contains=word)

.values(

)# 返回滿足條件的資料

return response(

)

模糊查詢和排序查詢

1.表示任意一位字元 2.表示任意位數的任意字元 3.要實現模糊查詢需要使用到關鍵字 like 基本語法 3 select 1 from 資料 2 where 模糊查詢的字段 like 模糊查詢的關鍵字 注意 模糊查詢要在where字句中使用。查詢姓名是以a開頭的雇員資訊select from em...

專案 模糊查詢 排序

專案需求 查詢上課班資訊,把班名排序,漢字英文按照首字母英文本母表排序,數字放在漢字 英文前 思路 直接用sql查詢出資料,然後排序 select t.teachclass name as teachclassname,t.teachclass code as teachclasscode,t.co...

vue 模糊查詢 排序

原理 原生js的search 方法,用於檢索字串中指定的子字串,或檢索與正規表示式相匹配的子字串。如果沒有找到任何匹配的子串,則返回 1。input輸入框,模糊查詢 效果如下 sort 方法 用於對陣列的元素進行排序,並返回陣列。預設排序順序是根據字串unicode碼點。注意 1 如果呼叫該方法時沒...