咦,为DJANGO的ORM的QUERYSET增加数据列的样码,很好用哟

这个我真的没有查资料,是通过直觉和经验弄出来的,哈哈,感觉用深一点好。

这样在模板输出时,就更好控制啦。。

if self.kwargs:
            if self.kwargs.has_key(‘search_pk‘):
                return Server.objects.filter(name__icontains=self.kwargs[‘search_pk‘]).annotate(num_subserver=Count(‘subserver‘))
        else:
            return Server.objects.annotate(num_subserver=Count(‘subserver‘))

在模板里就可以这样:

{% if item.num_subserver < 1 %}
    <span class="uk-badge  uk-badge-warning">{{item.num_subserver}}</span>
{% elif item.num_subserver > 1 %}
    <a href="{% url ‘subserverinput:subserverinput-list-search‘ search_pk=item.ipaddress %}">
       <span class="uk-badge uk-badge-danger">{{item.num_subserver}}</span>
    </a>
{% else %}
    <a href="{% url ‘subserverinput:subserverinput-list-search‘ search_pk=item.ipaddress %}">
       <span class="uk-badge uk-badge-success">{{item.num_subserver}}</span>
    </a>
{% endif %}

显示就可以这样哈,看,可以了吧。

时间: 2024-10-04 16:08:57

咦,为DJANGO的ORM的QUERYSET增加数据列的样码,很好用哟的相关文章

django的orm相关知识

扩展默认的auth_user表 想要加一个存储用户手机号的字段 我们可以通过继承内置的 AbstractUser 类,来定义一个自己的Model类. from django.contrib.auth.models import AbstractUser class UserInfo(AbstractUser):#继承AbstractUser """ 用户信息表 """ nid = models.AutoField(primary_key=True

Django之ORM性能优化建议

前言 DjangoORM数据层提供各种途径优化数据的访问. 如果事先理解Django的优化技巧,开发过程中稍稍留意,后期会省不少的工作量. 正题 一,利用标准数据库优化技术 传统数据库优化技术博大精深,不同的数据库有不同的优化技巧,但重心还是有规则的.在这里算是题外话,挑两点通用的说说: 索引,给关键的字段添加索引,性能能更上一层楼,如给表的关联字段,搜索频率高的字段加上索引等.Django建立实体的时候,支持给字段添加索引,具体参考Django.db.models.Field.db_index

【Django】ORM数据库操作

Django-ORM数据库操作 映射关系: 表名 -------------------->类名 字段-------------------->属性 表记录----------------->类实例化对象 ORM的两大功能: 操作表: - 创建表 - 修改表 - 删除表 操作数据行: - 增 删 改 查 ORM利用pymysql第三方工具链接数据库 Django默认的是sqlite数据库 将Django数据库修改为mysql: 1.settings.py 配置 DATABASES = {

【Django】ORM操作#2 &#343866;

目录 必知必会的13条查询方法 单表查询之神奇的双下划线 一对多 ForeignKey 多对多 ManyToManyField 在Python脚本中调用Django环境 Django终端打印SQL语句 关于Mate类 聚合查询 aggregage() 分组查询 annotate() F查询 Q查询 事务 其它鲜为人知的操作 原文: http://blog.gqylpy.com/gqy/264 @ *** 必知必会的13条查询方法 ==1. all()== 查询所有结果 . ==2. get(kw

Django之ORM数据库

5.1 数据库的配置 1    django默认支持sqlite,mysql, oracle,postgresql数据库.  <1> sqlite django默认使用sqlite的数据库,默认自带sqlite的数据库驱动 , 引擎名称:django.db.backends.sqlite3 <2> mysql 引擎名称:django.db.backends.mysql 2    mysql驱动程序 MySQLdb(mysql python) mysqlclient MySQL Py

Django:之ORM、CMS和二维码生成

Django ORM Django 的数据库接口非常好用,我们甚至不需要知道SQL语句如何书写,就可以轻松地查询,创建一些内容,所以有时候想,在其它的地方使用Django的 ORM呢?它有这么丰富的 QuerySet API. settings.py import os BASE_DIR = os.path.dirname(os.path.dirname(__file__)) SECRET_KEY = 'at8j8i9%[email protected]#64^0&qlr6m5yc(_&m

[Django]Django的orm中get和filter的不同

Django的orm中get和filter的不同 Django的orm框架对于业务复杂度不是很高的应用来说还是不错的,写起来很方面,用起来也简单.对于新手来说查询操作中最长用的两个方法get和filter有时候一不注意就会犯下一些小错误.那么今天就来小节下这两个方法使用上的不同. 我常用的是1.5版本的django,就以此为例来说说吧. 文档 首先对比下两个函数文档上的解释. get Returns the object matching the given lookup parameters,

人生苦短,我用python-- Day19 django框架之URL路由系统、视图应用、模板应用、django之orm应用

目录 一.django的URL应用 二.django的视图应用 三.django的模板应用 四.django的orm应用 补充: 补充一:getlis 应用场景:当前端发送的数据为多个的时候,后台如果还用get获取数据,那么就会出问题,所以这里有一个getlist方法进行数据的获取. 试验案例:当前端有一个多选的checkbox的时候,那么就要使用getlist进行获取数据了 urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^get

Django值ORM

ORM(object relational mapping): 对象关系映射 映射关系: 表名 <-------> 类名 字段 <-------> 属性 表记录 <------->类实例对象 建立模型(model) 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对一的关系(one-to-one) 出版商模型:出版商有名称,所在城市以及ema