• 组件添加模糊搜索功能


    1.前端发送搜索请求,
     
    <!-- 定制模糊搜索 开始 -->
    {% if cl.search_list %}
        <div class="row">
            <form action="">
                <input type="text" name="{{ cl.search_attr.name }}" value="{{ cl.search_attr.value }}" class="form-control"
                      style="display: inline-block; 250px" placeholder="请输入关键字">
                <button type="submit" class="btn btn-primary">
                    <span class="glyphicon glyphicon-search"></span>
                </button>
            </form>
        </div>
    {% endif %}
    <!-- 定制模糊搜索 结束 -->
     
    2.后端取出来作为组拼搜索条件
    @property
    def search_condition(self):
        """获取模糊搜索条件"""
        con = Q()
        con.connector = "OR"
        val = self.request.GET.get(self.q)
        if not val:
            return con
        for k in self.get_search_list():
            k="%s__contains"%k
            con.children.append((k,val))
        return con
     
    data_list = self.model_class.objects.filter(**self.filter_condition).filter(self.search_condition).distinct()
     
    3.支持可配置式,子类里面复写并传值才显示搜索框
    search_list=[]
    def get_search_list(self):
      """获取搜索的列,即将会在数据库的哪些列中搜索这些信息"""
      search_list = []
      search_list.extend(self.search_list)
      return search_list
     
     
     
     
     
  • 相关阅读:
    Validation failed for one or more entities
    sql 存储过程
    SQL Server分页3种方案比拼
    case when 用法
    C#如何计算代码执行时间
    透过 Jet.OLEDB 读取 Excel里面的数据
    DataBinding?资料系结?资料绑定?
    ASP.NET的OutputCache
    我想写程序#3 之 「简单地设计自己的数据表(Table)」
    我想写程序#1 之 「先确立志向」
  • 原文地址:https://www.cnblogs.com/jec1999/p/7747466.html
Copyright © 2020-2023  润新知