Django使用list對單個或者多個欄位求values值例項
阿新 • • 發佈:2020-04-01
開發環境:Ubuntu16.04+Django 1.11.9+Python2.7
使用list對values進行求值:
單個欄位的輸出結果:
price_info=list(Book.objects.filter(auth_id='Yu').values('book_price')) print price_info [{'book_price': 26},{'book_price': 28},{'book_price': 27}]
輸出為列表裡面包含字典 這樣是因為這個表裡有多條符合auth_id='Yu'的值.
多個欄位的輸出結果:
也使用list可以將符合條件的多個欄位同時提取出來
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'}]
值得注意的點:
這裡需要注意的是,values中的欄位資訊需要使用單引號進行包裹
如果只有一個符合條件的值,就是一個列表裡面有一個字典.如果多個符合條件的值則是多個字典放在列表中
補充知識:Django獲取多個複選框的值,並插入對應表底下
1、實現的功能類似於,多個複選框,後面還有一個備註,之後要把複選框的值和備註一一對應插入資料庫表中,主要提供一個思路,程式碼不全。
2、首先,html頁面先設計好,多個複選框還有一個個備註,程式碼如下:
<input type="checkbox" name="user_name" value=""> 傻子 <input type="input" name="remark" size="100" placeholder="備註"> <input type="checkbox" name="user_name" value=""> 瘋子 <input type="input" name="remark" size="100" placeholder="備註"> <input type="checkbox" name="user_name" value=""> 狗子 <input type="input" name="remark" size="100" placeholder="備註">
3、接下來,看下View層是怎麼實現的:
(1)html底下的複選框的name和備註的name都是一樣的,在View底下可以使用下面程式碼來獲取複選框和備註的列表:
request.POST.getlist('user_name')
(2)接下來就是對應各個複選框的備註,生成所需要的資料,一一對應插入資料庫,這裡就附上相對應的程式碼了:
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對單個或者多個欄位求values值例項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。