通过字典传递django orm的filter功能

简介: class AppRightManageListView(ListView): template_name = 'rightmanage/list_apprightmanage.html' # model = DeployPool paginate_by = 50 ...
class AppRightManageListView(ListView):
    template_name = 'rightmanage/list_apprightmanage.html'
    # model = DeployPool
    paginate_by = 50

    def get_queryset(self):
        filter_dict = dict()
        if self.request.GET.get('search_pk'):
            filter_dict['name__contains'] = self.request.GET.get('search_pk')
        if self.request.GET.get('app_name'):
            filter_dict['id'] = self.request.GET.get('app_name')
        if self.request.GET.get('site_name'):
            app_id_list = []
            site = Site.objects.get(id=self.request.GET.get('site_name'))
            for app in site.app_name.all():
                app_id_list.append(app.id)
            filter_dict['id__in'] = app_id_list
        return App.objects.filter(**filter_dict)

目录
相关文章
|
10天前
|
存储 数据库 文件存储
掌握Django文件处理:一步步构建上传功能
文件上传算是一种很常见的需求,几乎构建很多项目系统,以及插件都需要用到。 通过上面例子可以看到django通过forms表单的形式灵活定义文件上传的页面,字段,以及数据库存储。 在实际项目中我们还要考虑到安全性,包括检查文件大小(可通过FileField的max_length属性设置)、防止路径遍历攻击。 还需注意服务器端的验证,比如检查文件类型、内容安全等。
|
8月前
|
SQL 关系型数据库 MySQL
Django入门ORM(Django操作MySQL) 专题一
Django入门ORM(Django操作MySQL) 专题一
|
9月前
|
存储 数据可视化 数据库
Django创建应用、ORM的进阶使用及模型类数据库迁移3
Django创建应用、ORM的进阶使用及模型类数据库迁移3
56 0
|
24天前
|
数据库 Python
使用 Django 中的 filter 方法进行数据查询
在 Django 中,QuerySet 的 filter() 方法是一个强大的工具,用于从数据库中检索数据并根据指定的条件进行筛选。在本文中,我们将介绍如何使用 filter() 方法来执行各种类型的数据查询操作。
|
9天前
|
缓存 监控 中间件
探究Django中间件的神奇:功能、应用场景和核心方法
在Django中,中间件是一个强大的概念,它们提供了一种灵活的方式来处理请求和响应。本文将探讨Django中间件的基本概念、常见应用场景以及中间件类中的父类和核心方法。
|
1月前
|
SQL 数据库 开发者
Python Web 开发: 什么是 Django ORM?如何使用它进行数据库操作?
Python Web 开发: 什么是 Django ORM?如何使用它进行数据库操作?
|
1月前
|
Oracle 关系型数据库 MySQL
Django框架ORM操作(二)
Django框架ORM操作(二)
|
1月前
|
SQL 存储 前端开发
Django框架ORM操作(一)
Django框架ORM操作(一)
Django框架ORM操作(一)
|
1月前
|
存储 搜索推荐 开发者
django-haystack,具有全文搜索功能的 Python 库!
django-haystack,具有全文搜索功能的 Python 库!
36 0
|
1月前
|
SQL 缓存 数据库
在Python Web开发过程中:数据库与缓存,如何使用ORM(例如Django ORM)执行查询并优化查询性能?
在Python Web开发中,使用ORM如Django ORM能简化数据库操作。为了优化查询性能,可以:选择合适索引,避免N+1查询(利用`select_related`和`prefetch_related`),批量读取数据(`iterator()`),使用缓存,分页查询,适时使用原生SQL,优化数据库配置,定期优化数据库并监控性能。这些策略能提升响应速度和用户体验。
24 0