使用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下拉框进行过滤的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“对django后台admin下拉框进行过滤的实例”评论...
更新日志
2024年10月07日
2024年10月07日
- 群星《前途海量 电影原声专辑》[FLAC/分轨][227.78MB]
- 张信哲.1992-知道新曲与精丫巨石】【WAV+CUE】
- 王翠玲.1995-ANGEL【新艺宝】【WAV+CUE】
- 景冈山.1996-我的眼里只有你【大地唱片】【WAV+CUE】
- 群星《八戒 电影原声带》[320K/MP3][188.97MB]
- 群星《我的阿勒泰 影视原声带》[320K/MP3][139.47MB]
- 纪钧瀚《胎教古典音乐 钢琴与大提琴的沉浸时光》[320K/MP3][148.91MB]
- 刘雅丽.2001-丽花皇后·EMI精选王【EMI百代】【FLAC分轨】
- 齐秦.1994-黄金十年1981-1990CHINA.TOUR.LIVE精丫上华】【WAV+CUE】
- 群星.2008-本色·百代音乐人创作专辑【EMI百代】【WAV+CUE】
- 群星.2001-同步过冬AVCD【环球】【WAV+CUE】
- 群星.2020-同步过冬2020冀待晴空【环球】【WAV+CUE】
- 沈雁.1986-四季(2012梦田复刻版)【白云唱片】【WAV+CUE】
- 纪钧瀚《胎教古典音乐 钢琴与大提琴的沉浸时光》[FLAC/分轨][257.88MB]
- 《国语老歌 怀旧篇 3CD》[WAV/分轨][1.6GB]