对django后台admin下拉框进行过滤的实例


Posted in Python onJuly 26, 2019

使用django admin 自带后台

admin后台下拉显示的时候需要添加过滤条件,

因为表是自己关联自己,同时还需要过滤掉自己, 需要获取当前对象的id,需要获取obj_id

from django.contrib import admin
from .models import Comment

# actions添加模型动作
def disable_commentstatus(modeladmin, request, queryset):
  queryset.update(is_enable=False)

def enable_commentstatus(modeladmin, request, queryset):
  queryset.update(is_enable=True)

disable_commentstatus.short_description = '隐藏评论'
enable_commentstatus.short_description = '显示评论'

class CommentAdmin(admin.ModelAdmin):
  list_display = ('id', 'commentator', 'article', 'parent_comment', 'is_enable', 'created_time')
  list_display_links = ('id', 'commentator')
  list_filter = ('commentator', 'article', 'is_enable')
  actions = [disable_commentstatus, enable_commentstatus]

  def formfield_for_foreignkey(self, db_field, request, *args, **kwargs):
    if db_field.name == 'parent_comment':
      try:
        obj_id = request.resolver_match.args[0] #这里获取当前对象id,非常重要
        kwargs['queryset'] = Comment.objects.filter(parent_comment=None).exclude(id=int(obj_id)) # 添加过滤条件
      except:
        kwargs['queryset'] = Comment.objects.filter(parent_comment=None)
    return super(CommentAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)

admin.site.register(Comment, CommentAdmin)

以上这篇对django后台admin下拉框进行过滤的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python装饰器与递归算法详解
Feb 18 Python
Python中操作mysql的pymysql模块详解
Sep 13 Python
Python中字符串格式化str.format的详细介绍
Feb 17 Python
python+selenium开发环境搭建图文教程
Aug 11 Python
Django中的forms组件实例详解
Nov 08 Python
Python+selenium点击网页上指定坐标的实例
Jul 05 Python
Pytorch 抽取vgg各层并进行定制化处理的方法
Aug 20 Python
Python3 main函数使用sys.argv传入多个参数的实现
Dec 25 Python
深入了解如何基于Python读写Kafka
Dec 31 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
May 26 Python
python实现批处理文件
Jul 28 Python
详解Python中string模块除去Str还剩下什么
Nov 30 Python
python函数的万能参数传参详解
Jul 26 #Python
Python企业编码生成系统之主程序模块设计详解
Jul 26 #Python
Django REST Framework序列化外键获取外键的值方法
Jul 26 #Python
django admin.py 外键,反向查询的实例
Jul 26 #Python
Python企业编码生成系统之系统主要函数设计详解
Jul 26 #Python
python的re模块使用方法详解
Jul 26 #Python
Python企业编码生成系统总体系统设计概述
Jul 26 #Python
You might like
Classes and Objects in PHP5-面向对象编程 [1]
2006/10/09 PHP
php ftp文件上传函数(基础版)
2010/06/03 PHP
php循环创建目录示例分享(php创建多级目录)
2014/03/04 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
2015/02/08 PHP
PHP学习记录之数组函数
2018/06/01 PHP
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
编写Js代码要注意的几条规则
2010/09/10 Javascript
JS date对象的减法处理实现代码
2010/12/28 Javascript
JavaScript之HTMLCollection接口代码
2011/04/27 Javascript
Jquery异步请求数据实例代码
2011/12/28 Javascript
js动态为代码着色显示行号
2013/05/29 Javascript
JavaScript代码里的判断小结
2016/08/22 Javascript
详解JavaScript树结构
2017/01/09 Javascript
Web 开发中Ajax的Session 超时处理方法
2017/01/19 Javascript
xmlplus组件设计系列之路由(ViewStack)(7)
2017/05/02 Javascript
JavaScript Date对象应用实例分享
2017/10/30 Javascript
angular2路由之routerLinkActive指令【推荐】
2018/05/30 Javascript
vue 函数调用加括号与不加括号的区别
2020/10/29 Javascript
python实现颜色rgb和hex相互转换的函数
2015/03/19 Python
Python存取XML的常见方法实例分析
2017/03/21 Python
Python3实现的画图及加载图片动画效果示例
2018/01/19 Python
浅谈python多进程共享变量Value的使用tips
2019/07/16 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
2019/09/23 Python
python自动化测试无法启动谷歌浏览器问题
2019/10/10 Python
使用Python的networkx绘制精美网络图教程
2019/11/21 Python
python识别验证码图片实例详解
2020/02/17 Python
pycharm软件实现设置自动保存操作
2020/06/08 Python
scrapy利用selenium爬取豆瓣阅读的全步骤
2020/09/20 Python
AmazeUI 缩略图的实现示例
2020/08/18 HTML / CSS
德国电子产品购物网站:TechInTheBasket德国
2018/12/07 全球购物
施华洛世奇波兰官网:SWAROVSKI波兰
2019/06/18 全球购物
俄罗斯品牌服装和鞋子在线商店:BRIONITY
2020/03/26 全球购物
Agoda中文官网:安可达(低价预订全球酒店)
2021/01/18 全球购物
结婚喜宴家长答谢词
2014/01/15 职场文书
甜品蛋糕店创业计划书范文
2014/02/06 职场文书
muduo TcpServer模块源码分析
2022/04/26 Redis