这篇文章主要介绍在django中查询获取数据时,过滤器,(),()值的操作方法是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
<强> django中当我们要查询获取数据时:强>
数据库中的信息:
如一个学生信息表学生:
<强>得到方法:强>
students.objects ()。get (a=b)
引用>其中为学生表中的一个属性如id、名称等
如:students.objects ()。得到(name='张三& # 39;)即获取名字为张三的学生的信息
过滤器用法与得到相同
但是得到必须只能取一个数据
过滤器能去0,1,多个数据
即上述中如果表中有多个学生都叫张三同名了,得到就会报错
同样表中没有叫张三的学生也会报错
过滤器则不报错,所以在要精准查询时用得到
students.objects贴切(),()是获取表中所有的数据
值(a)属性可以加在上述三个的末尾,表示只获取一个属性:
students.objects贴切(),(). values(& # 39;名字# 39;)即获取到所有的表中的姓名,返回一个字典组成的列表[{的名字# 39;:“张三& # 39;},{的名字# 39;:“李四& # 39;},…]
students.objects ()。过滤器(name='张三& # 39;). values (& # 39; id # 39;),只返回名为张三的学生的id、不返回其他属性了。
<强> django滤过滤器实现显示某个类型指定字段不同值强>
1,前端样式
2, html代码
{%负载asset_filter %}
引用>& lt; div类=癱ol-sm-2"比; & lt;选择类=癷nput-sm表单控件select2 inline"name=癝erviceModel"比; https://www.yisu.com/zixun/& lt;选项值=" ">模块> 选项 {%我的‘Ecs | ecs_model_field_distinct:‘ServiceModel’%} {%如果我。0%} <选项值="{{我。0}}">{{我。0}}选项> {% endif %} {% endfor %} 选择>
3,后端代码
asset_filter。py内容如下:
@register.filter (name=& # 39; ecs_model_field_distinct& # 39;) def ecs_model_field_distinct (model_name field_name): & # 39;& # 39;& # 39; 获取model_name模块对象的某个属性field_name的不同的值,返回值的数组 :param model_name: :param field_name: 返回: & # 39;& # 39;& # 39; asset_app=apps.get_app_config(& # 39;规则# 39;) 返回asset_app.get_model (model_name) .objects.all () .values_list (field_name) .distinct ()
以上是在django中查询获取数据时,过滤器,(),()值的操作方法是什么的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!