10-crm專案-kingadmin,修改和新增頁面---filter_horizontal的實現
阿新 • • 發佈:2020-08-10
修改和新增頁面---filter_horizontal的實現
新增filter_horizontal(資料量大的時候很方便)後顯示的樣子(可以批量新增,還可以在裡面搜尋)
下面我們在kingadmin中實現這個功能
(1)kingadmin/admin_base.py
# kingadmin/admin_base.py class BaseKingAdmin(object): list_display = [] list_filter = [] search_fields = [] #只讀 readonly_fields = [] filter_horizontal= []
(2)crm/kingadmin.py
(3)kingadmin/kingadmin_tags.py
@register.simple_tag def get_available_m2m_data(field_name,admin_class): '''返回的是m2m欄位關聯表的所有資料''' #獲取欄位的物件 field_obj = admin_class.model._meta.get_field(field_name) #consult_courses = models.ManyToManyField('Course',verbose_name='諮詢課程') #consult_courses是一個m2m,通過consult_courses物件獲取到Course(也就是獲取到所有諮詢的課程) obj_list = field_obj.related_model.objects.all() return obj_list