开发环境: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="">&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、接下来,看下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值实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

标签:
Django,list,字段,values值

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。