首页 > python web

Django使用list对单个或者多个字段求values值实例

时间:2020-07-26 python web 查看: 826

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

展开全文
上一篇:django实现模板中的字符串文字和自动转义
下一篇:django修改models重建数据库的操作
输入字:
相关知识
django学习之ajax post传参的2种格式实例

AJAX除了异步的特点外,还有一个就是:浏览器页面局部刷新,下面这篇文章主要给大家介绍了关于django学习之ajax post传参的2种格式的相关资料,需要的朋友可以参考下

Python djanjo之csrf防跨站攻击实验过程

csrf攻击,即cross site request forgery跨站(域名)请求伪造,这里的forgery就是伪造的意思。这篇文章主要给大家介绍了关于Python djanjo之csrf防跨站攻击的相关资料,需要的朋友可以参考下

django admin实现动态多选框表单的示例代码

借助django-admin,可以快速得到CRUD界面,但若需要创建多选标签字段时,需要对表单进行调整,本文通过示例代码给大家介绍django admin多选框表单的实现方法,感兴趣的朋友跟随小编一起看看吧

Flask登录注册项目的简单实现

一个简单的用户注册和登录的页面,涉及到验证,数据库存储等等,本文主要介绍了Flask登录注册项目的简单实现,从目录结构开始,感兴趣的可以了解一下