对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 fabric实现远程操作和部署示例
Mar 25 Python
使用Python的判断语句模拟三目运算
Apr 24 Python
python开发之字符串string操作方法实例详解
Nov 12 Python
Python进阶之@property动态属性的实现
Apr 01 Python
Python3匿名函数lambda介绍与使用示例
May 18 Python
python实现ip代理池功能示例
Jul 05 Python
numpy.meshgrid()理解(小结)
Aug 01 Python
解决python 3 urllib 没有 urlencode 属性的问题
Aug 22 Python
python名片管理系统开发
Jun 18 Python
pyqt5 textEdit、lineEdit操作的示例代码
Aug 12 Python
详解Python 中的 defaultdict 数据类型
Feb 22 Python
Opencv实现二维直方图的计算及绘制
Jul 21 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
转PHP手册及PHP编程标准
2006/12/17 PHP
php 页面执行时间计算代码
2008/12/04 PHP
php 正则表达式小结
2009/08/31 PHP
MYSQL 小技巧 -- LAST_INSERT_ID
2009/11/24 PHP
有关php运算符的知识大全
2011/11/03 PHP
php实现的美国50个州选择列表实例
2015/04/20 PHP
PHP rsa加密解密使用方法
2015/04/27 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
破除网页鼠标右键被禁用的绝招大全
2006/12/27 Javascript
通过MSXML2自动获取QQ个人头像及在线情况(给初学者)
2007/01/22 Javascript
JavaScript对象模型-执行模型
2008/04/28 Javascript
禁止js文件缓存的代码
2010/04/09 Javascript
SuperSlide2实现图片滚动特效
2014/06/20 Javascript
JavaScript中的console.profile()函数详细介绍
2014/12/29 Javascript
javascript实现Email邮件显示与删除功能
2015/11/21 Javascript
基于JavaScript代码实现随机漂浮图片广告
2016/01/05 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
2016/08/05 Javascript
JavaScript制作颜色反转小游戏
2016/09/25 Javascript
原生JS改变透明度实现轮播效果
2017/03/24 Javascript
Vue中div contenteditable 的光标定位方法
2018/08/25 Javascript
JavaScript 复制对象与Object.assign方法无法实现深复制
2018/11/02 Javascript
Element InputNumber计数器的使用方法
2020/07/27 Javascript
详解Golang 与python中的字符串反转
2017/07/21 Python
python中pytest收集用例规则与运行指定用例详解
2019/06/27 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
2019/08/08 Python
Python基于Faker假数据构造库
2020/11/30 Python
使用C#编写创建一个线程的代码
2013/01/22 面试题
大二自我鉴定范文
2013/10/05 职场文书
写演讲稿所需要注意的4个条件
2014/01/09 职场文书
幼儿园教师演讲稿
2014/05/06 职场文书
廉洁家庭事迹材料
2014/05/15 职场文书
希特勒经典演讲稿
2014/05/19 职场文书
行政求职信
2014/07/04 职场文书
流动人口婚育证明范本
2014/09/26 职场文书
大学感恩节活动总结
2015/05/05 职场文书
毕业论文致谢信
2015/05/14 职场文书