中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何對django后臺admin下拉框進行過濾

發布時間:2021-07-23 14:33:26 來源:億速云 閱讀:350 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“如何對django后臺admin下拉框進行過濾”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何對django后臺admin下拉框進行過濾”這篇文章吧。

使用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下拉框進行過濾”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

高唐县| 郓城县| 乡城县| 乾安县| 安徽省| 静海县| 镇沅| 德安县| 朔州市| 灵台县| 诏安县| 玉田县| 合山市| 鸡泽县| 全南县| 大足县| 东城区| 当阳市| 屯昌县| 武义县| 天峨县| 南郑县| 体育| 昌黎县| 万全县| 桐城市| 凤凰县| 大竹县| 禹城市| 樟树市| 阳曲县| 山西省| 江口县| 当涂县| 阳原县| 都匀市| 芜湖县| 陕西省| 南城县| 托克逊县| 盐津县|