對django後台admin下拉框進行過濾的例項

2022-09-26 20:03:15 字數 1468 閱讀 9604

使用django admin 自帶後台

admin後台下拉顯示的時候需要新增過濾條件,

因為表是自己關聯自己,同時還需要過濾掉自己, 需要獲取當前物件的id,需要獲取obj_id

cqrihclhkcfrom django.contrib import admin

from .models import cqrihclhkccomment

# actions新增模型動作

def disable_commentstatus(modeladmin, request, queryset):

queryset.update(is_enable=false)

d enable_commentstatus(modeladmin, request, queryset):

queryset.update(is_enable=true)

disable_commentstatus.short_description = '隱藏評論'

enable_commentstatus.short_description = '顯示評論'

class commentadmin(admin.modeladmin):

list_displacqrihclhkcy = ('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下拉框進行過濾的例項

本文位址:

django自帶admin後台使用者管理

應用 admin.py檔案 register your models here.class usersadmin admin.modeladmin 要展示的字段 list display id username age email addtime list editable 設定預設可編輯字段 li...

Django後台admin的使用詳解

簡述 django的admin可以提供乙個強大的後台管理功能,可以在web介面對資料庫進行操作,我們需要修改admin.py將要操作的資料表註冊到後台管理中 建立資料表 為了便於演示,我們在models.py中建立一張img資料表規則 圖中 verbo name 是在admin介面顯示表字段的名稱,...

Django框架admin後台管理和使用者端靜態檔案

目錄 二 使用者上傳的靜態檔案的展示 三 防盜煉 django自帶admin元件,也可以用第三方的xadmin元件 有很多bug 1.去應用下的admin.py中註冊你想要管理的模型類。2.要想登陸到後台管理,必須是超級使用者,需要管理員使用者root許可權。所以需要用createsuperuser...