其他分享
首页 > 其他分享> > 10-crm项目-kingadmin,修改和添加页面---filter_horizontal的实现

10-crm项目-kingadmin,修改和添加页面---filter_horizontal的实现

作者:互联网

修改和添加页面---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

 

 

标签:10,admin,py,---,field,kingadmin,horizontal,filter
来源: https://www.cnblogs.com/andy0816/p/13471734.html