温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Django如何使用list对单个或者多个字段求values值

发布时间:2021-06-11 15:17:26 来源:亿速云 阅读:158 作者:小新 栏目:开发技术

这篇文章主要为大家展示了“Django如何使用list对单个或者多个字段求values值”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Django如何使用list对单个或者多个字段求values值”这篇文章吧。

开发环境: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值”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI