目录
本博客是从两方面说明书签的使用,一个是后台设置书签,xadmin列表页直接显示,二是超级用户在列表页添加书签并开通共享,从而普通用户可以使用。
一、后台设置书签
在adminx.py下,添加书签的代码,全用户直接可用。
class CheckAdmin(object):
#form = Scene_dudao_Form
list_display = ['task_id','problem_point','street','community','address','big','small','state','finishname','start_time','checkname',]
list_filter = ['start_time','big','small','state','finishtime','checkname']
search_fields = ['address','task_id']
show_detail_fields =['task_id']
list_per_page =10
show_all_rel_details = False # 不显示信息
exclude = ['state_branch'] # 不显示字段
show_bookmarks = True
list_bookmarks = [
{
'title': "昨天", # 书签的名称, 显示在书签菜单中
'query': {'start_time__gte':datetime(datetime.now().year,datetime.now().month,datetime.now().day)-timedelta(days=1),
'start_time__lt':datetime(datetime.now().year,datetime.now().month,datetime.now().day)}, # 过滤参数, 是标准的 queryset 过滤
'cols': ('task_id','problem_point','street','community','address','big','small','state','finishname','start_time','checkname'), # 显示的列
},
{
'title': "今天", # 书签的名称, 显示在书签菜单中
'query': {'start_time__gte': datetime(datetime.now().year, datetime.now().month, datetime.now().day),
'start_time__lt': datetime(datetime.now().year, datetime.now().month, datetime.now().day)+timedelta(days=1)},# 过滤参数, 是标准的 queryset 过滤
'cols': ('task_id', 'problem_point', 'street', 'community', 'address', 'big', 'small', 'state', 'finishname','start_time', 'checkname'), # 显示的列
},
]
form_layout = (
Fieldset(u'基本信息',
Row('task_id'),
Row('street','community','address'),
Row('big', 'small')),
Fieldset(u'图片',
Row('img_far','img_near','img_consult')),
Fieldset(u'处置情况',
Row('state', 'ranks', 'finishtime')),
)
此处添加个链接,主要是在使用list_bookmarks时,其中的'query'涉及到时间字段时,可以参考使用
(1)Python基础——时间
二、列表页新建
1.超级用户先进行条件筛选,之后再书签下新建标签(需要输入书签名称,筛选可多条件)
2.超级用户在书签下点击编辑的图标(小笔),进入编辑页面,确认共享状态(目前普通用户已经可以使用超级用户建立的书签了)