溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Django如何使用list對(duì)單個(gè)或者多個(gè)字段求values值

發(fā)布時(shí)間:2021-06-11 15:17:26 來(lái)源:億速云 閱讀:159 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要為大家展示了“Django如何使用list對(duì)單個(gè)或者多個(gè)字段求values值”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Django如何使用list對(duì)單個(gè)或者多個(gè)字段求values值”這篇文章吧。

開(kāi)發(fā)環(huán)境:Ubuntu16.04+Django 1.11.9+Python2.7

使用list對(duì)values進(jìn)行求值:

單個(gè)字段的輸出結(jié)果:

price_info=list(Book.objects.filter(auth_id='Yu').values('book_price'))
print price_info
[{'book_price': 26}, {'book_price': 28}, {'book_price': 27}]

輸出為列表里面包含字典 這樣是因?yàn)檫@個(gè)表里有多條符合auth_id='Yu'的值.

多個(gè)字段的輸出結(jié)果:

也使用list可以將符合條件的多個(gè)字段同時(shí)提取出來(lái)

entry_list = list(Selleraccount.objects.filter(status=1).values('number','id','dealer'))

[{'number': u'1524713362', 'id': 8, 'dealer': 'yw1234'}, {'number': u'1524792376', 'id': 9, 'dealer': 'yw1234'}]

值得注意的點(diǎn):

這里需要注意的是,values中的字段信息需要使用單引號(hào)進(jìn)行包裹

如果只有一個(gè)符合條件的值,就是一個(gè)列表里面有一個(gè)字典.如果多個(gè)符合條件的值則是多個(gè)字典放在列表中

補(bǔ)充知識(shí):Django獲取多個(gè)復(fù)選框的值,并插入對(duì)應(yīng)表底下

1、實(shí)現(xiàn)的功能類(lèi)似于,多個(gè)復(fù)選框,后面還有一個(gè)備注,之后要把復(fù)選框的值和備注一一對(duì)應(yīng)插入數(shù)據(jù)庫(kù)表中,主要提供一個(gè)思路,代碼不全。

2、首先,html頁(yè)面先設(shè)計(jì)好,多個(gè)復(fù)選框還有一個(gè)個(gè)備注,代碼如下:

<input type="checkbox" name="user_name" value="">&nbsp;傻子
<input type="input" name="remark" size="100" placeholder="備注">
<input type="checkbox" name="user_name" value="">&nbsp;瘋子
<input type="input" name="remark" size="100" placeholder="備注">
<input type="checkbox" name="user_name" value="">&nbsp;狗子
<input type="input" name="remark" size="100" placeholder="備注">

3、接下來(lái),看下View層是怎么實(shí)現(xiàn)的:

(1)html底下的復(fù)選框的name和備注的name都是一樣的,在View底下可以使用下面代碼來(lái)獲取復(fù)選框和備注的列表:

request.POST.getlist('user_name')

(2)接下來(lái)就是對(duì)應(yīng)各個(gè)復(fù)選框的備注,生成所需要的數(shù)據(jù),一一對(duì)應(yīng)插入數(shù)據(jù)庫(kù),這里就附上相對(duì)應(yīng)的代碼了:

user_name_list = request.POST.getlist('user_name')
remark_list = request.POST.getlist('remark')
 
for remark remark_list:
 user_name = user_name_list[remark_list.index(remark)]
 user_info_dict = {'user_id': user_id, 'user_name':user_name,'remark': remark, 'create_uid': create_uid, 'create_time': create_time}
 UserInfo.objects.create(**user_info_dict)

以上是“Django如何使用list對(duì)單個(gè)或者多個(gè)字段求values值”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI