Django使用list对单个或者多个字段求values值实例
(编辑:jimmy 日期: 2024/11/19 浏览:3 次 )
开发环境: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值实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
下一篇:Python + selenium + crontab实现每日定时自动打卡功能