
@admin.register(Payment)
class PaymentAdmin(admin.ModelAdmin):
fieldsets = [(u'公司信息', {
'fields': ['Supplier']
}), (u'支付信息', {
'fields': ['PayType', 'Bill','Status', 'RecordDate']
}), (u'其他信息', {
'fields': ['Memo']
})]
search_fields = ('Supplier__OrganizeName', 'PayType', 'Bill','Status', 'Memo')
list_display = ('Supplier', 'PayType', 'Bill','colored_status','RecordDate', 'Updator', 'Creator')
list_filter = ('Supplier', 'PayType', 'Bill', 'Status', 'RecordDate', 'Updator', 'Creator')
list_filter_multiples = ('PayType','Status',)
date_hierarchy = ('RecordDate')
ordering = ['-RecordDate']
autocomplete_fields = ['Supplier']
radio_fields = {'PayType': admin.HORIZONTAL,'Status': admin.HORIZONTAL}
list_per_page = 20
show_full_result_count = True
fields_options = {
'Supplier': {
'width': '350px',
'align': 'left',
},
'buttons': {
'width': '200px',
},
}
def get_summaries(self, request, queryset):
BILL = "¥{}".format(queryset.aggregate(total=Sum('Bill')).get('total'))
return ('', '数据合计', '', BILL, '', '')
get_summaries.short_description = '汇总'
get_summaries.type = 'danger'
get_summaries.icon = 'el-icon-s-promotion'
def get_queryset(self, request): # 重写get_queryset
qs = super(PaymentAdmin, self).get_queryset(request)
if request.user.is_superuser: # 判断如果是超级管理员返回所有信息
return qs
else:
return qs.filter(Q(Creator=request.user.last_name + request.user.first_name)) # User为当前关联的用户,如果是普通管理员只能看自己
def save_model(self, request, obj, form, change):
if not change:
# the object is being created, so set the user
obj.Creator = request.user.last_name + request.user.first_name
obj.save()