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值实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Django values()和value_list()的使用

    一.values() 1.values()结果是什么? 官方文档说明:https://docs.djangoproject.com/en/2.1/ref/models/querysets/#django.db.models.query.QuerySet.values 示例: 结果:values()得到的是一个字典形式的查询集(QuerySet),查询集是一个可迭代对象. 2.values()结果如何序列化为json? (1)将QuerySet转为list: city_list = list(ci

  • 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}] 输出为列表里面包含字典 这样是因为这个表里有多条符合aut

  • django实现同一个ip十分钟内只能注册一次的实例

    很多小伙伴都会有这样的问题,说一个ip地址十分钟内之内注册一次,用来防止用户来重复注册带来不必要的麻烦 逻辑: 取ip,在数据库找ip是否存在,存在判断当前时间和ip上次访问时间之差,小于600不能注册,到登录界面,大于600可以注册, 设计一个数据库来存储这个ip地址和访问时间, class Ip(models.Model): ip=models.CharField(max_length=20) time=models.DateTimeField() class Meta: verbose_n

  • django传值给模板, 再用JS接收并进行操作的实例

    今天用要django传值给模板, 然后需要用js处理一下.特此记录. 用json.dumps()方法将值传给模板. import json return render(request,'wauth/freetime.html', {'slot_ids': json.dumps(slot_ids)}) 用JSON.parse()接收django传过来的值. var slot_ids = JSON.parse('{{ slot_ids|safe }}'); 以上这篇django传值给模板, 再用JS

  • 基于Django URL传参 FORM表单传数据 get post的用法实例

    POST和GET是web开发中常用的表单交互方法,是构建web前后端交互系统的顶梁柱,现将Django中的简单用法示例记录下来,以供后续查询和其他同学参考 1.URL传参 #前端html的链接中用模版标签把参数"x"传递给achievement这个应用的yearcontent方法 <td><a href={% url 'achievement:yearcontent' x %} >{{ x }}</a></td> #urls.py中用正则

  • 利用django model save方法对未更改的字段依然进行了保存

    我就废话不多说了,直接上代码吧! obj = Obj.objects.get(id=1) print obj.name #此时name的值假定为'abc' def handler(oid): obj = Obj.objects.get(id=oid) obj.name = '123' obj.save() handler(obj.id) obj.age = 10 obj.save() print obj.name 最终的name结果依然为'abc'.save()保存时,虽然没有更改其它字段,但依

  • django创建超级用户时指定添加其它字段方式

    使用 python manage.py createsuperuser创建超级用户时只能默认输入:用户名,邮箱,及密码来创建 有的时候我们需要创建的时候指定额外的字段,可以通过下面的方法 使用 python manage.py shell 进入shell脚本 在shell脚本中 from users.models import User User.objects.create_superuser('用户名','邮箱','密码',mobile=19111111111) # User.objects

  • django 模型字段设置默认值代码

    我就废话不多说了,大家还是直接看代码吧~ class SitService(models.Model): applicationname = models.CharField(max_length=50,primary_key=True) ip = models.CharField(max_length=50) port = models.IntegerField(default=22) #设置默认值为22 path = models.CharField(max_length=50) 补充知识:

  • django filter过滤器实现显示某个类型指定字段不同值方式

    1,前端样式 2,html代码 {% load asset_filter %} <div class="col-sm-2"> <select class="input-sm form-control select2 inline" name="ServiceModel"> <option value="">模块</option> {% for i in 'Ecs'|ecs_mod

  • 在Python的Django框架中获取单个对象数据的简单方法

    相对列表来说,有些时候我们更需要获取单个的对象, `` get()`` 方法就是在此时使用的: >>> Publisher.objects.get(name="Apress") <Publisher: Apress> 这样,就返回了单个对象,而不是列表(更准确的说,QuerySet). 所以,如果结果是多个对象,会导致抛出异常: >>> Publisher.objects.get(country="U.S.A.") T

  • Python Django 添加首页尾页上一页下一页代码实例

    添加首页和尾页: views.py: from django.shortcuts import render from app01 import models def book_list(request): # 从 URL 中取参数 page_num = request.GET.get("page") print(page_num, type(page_num)) page_num = int(page_num) # 定义两个变量保存数据从哪儿取到哪儿 data_start = (pa

随机推荐