想实现的是一个表里面的字段 选择性的出现在菜单栏

1、如何自定义菜单

自定义菜单前

在asset\admin.py里添加如下代码:

class NewAssetApprovalZoneAdmin(admin.ModelAdmin):
list_display = ('sn','asset_type','manufactory','model','cpu_model','cpu_count','cpu_core_count','ram_size','os_distribution','os_release','date','approved','approved_by','approved_date')
'''
横着依次显示:'sn','asset_type',...省略'approved_by','approved_date'
''' admin.site.register(models.NewAssetApprovalZone,NewAssetApprovalZoneAdmin) '''只有添加了NewAssetApprovalZoneAdmin才会在后台里显示,要不然即使设置了也不显示'''

自定义菜单后

2、如何自定义搜索

在asset\admin.py里添加如下代码:

class EventLogAdmin(admin.ModelAdmin,BaseAdmin):
list_display = ('name','colored_event_type','asset','component','detail','date','user')
search_fields = ('asset',)
'''使用'asset'作为搜索'''

效果图

3、如何自定义过滤

在asset\admin.py里添加如下代码:

class EventLogAdmin(admin.ModelAdmin,BaseAdmin):
list_display = ('name','colored_event_type','asset','component','detail','date','user')
list_fields = ('asset','date')
'''使用'asset' date作为过滤'''

效果图

4、admin多对多

在asset\models.py里添加如下代码:

tags = models.ManyToManyField('Tag', blank=True)

 fields_horizontal = ('tags',)

 '''注意:这种只对多对多有效'''

在asset\admin.py里添加如下代码:

admin.site.register(models.Asset,AssetAdmin)

更改前

更改后

5、完成如下图显示的(效果下拉框,选择效果)

在asset\admin.py里添加如下代码:

class NewAssetApprovalZoneAdmin(admin.ModelAdmin):
.....省略
actions = ['approve_selected_objects'] def approve_selected_objects(modeladmin, request, queryset):
selected = request.POST.getlist(admin.ACTION_CHECKBOX_NAME)
ct = ContentType.objects.get_for_model(queryset.model)
return HttpResponseRedirect("/asset/new_assets/approval/?ct=%s&ids=%s" % (ct.pk, ",".join(selected)))
approve_selected_objects.short_description = "批准入库"

完成效果如下

上面的一点go就报错

为什么会报如下错误呢 ?因为你给了我三个,

那两个是什么东西?

actions = ['approve_selected_objects']

    def approve_selected_objects(*args,**kargs):
print(*args,**kargs)
pass

 

一个是request的那个对象 一个是你选中那几个

CMDB资产管理系统开发【day26】:Django admin的更多相关文章

  1. CMDB资产管理系统开发【day26】:批准资产入库

    刚才都是一条像内存,硬盘,网卡.多条的话如何操作 只有一条数据 下面的是有多条数据的 硬盘必须字段的验证 def __create_disk_component(self): disk_info = ...

  2. CMDB资产管理系统开发【day26】:admin action

    本节目标 审核写到数据库,我就单独写一个如下的 页面 单机go后就跳转到如下图界面,我们这节课的目标就是写一个这样的页面 asset\admin.py部分代码 注释如下: class NewAsset ...

  3. CMDB资产管理系统开发【day26】:数据正式存入待存区

    1.from表单提交 1.数据提交到哪里呢? 提交到assets/new_assets_approval.html这了 2.Yes, I'm sure提交了什么?          为什么没有下拉框了 ...

  4. CMDB资产管理系统开发【day25】:Django 自定义用户认证

    官方文档:https://docs.djangoproject.com/en/1.10/topics/auth/customizing/#substituting-a-custom-user-mode ...

  5. CMDB资产管理系统开发【day26】:实现资产自动更新

    1.需求分析 1.比对分析 比对的时候以那个数据源为主? old [1,2,3 ] db数据库 new [2,3,4 ] 客户端汇报过来的 当然以客户端汇报过来的数据为主 2.更新分析 不同的表到底拿 ...

  6. CMDB资产管理系统开发【day26】:CMDB上节回顾

    一.上节知识点回顾 服务器设计了一个表结构 开发了一个客户端 二.后台创建缓存区表 客户端连接服务器,在服务器的下面看报错信息 因为URL都没有写,所以我找不到呀 1.在MadKing\url.py ...

  7. CMDB资产管理系统开发【day26】:02-数据写入待存区

    一.资产自动回报数据及个更新流程图 二.表结构注释(NewAssetApprovalZone) class NewAssetApprovalZone(models.Model): "&quo ...

  8. CMDB资产管理系统开发【day26】:linux客户端开发

    客户端疑难点及获取流程 1.linux客户端支持2就可以,python3就是很麻烦 难道你要求所有的客户端都上pytho3吗? 现在从bin的入口进去 HouseStark.ArgvHandler(s ...

  9. CMDB资产管理系统开发【day25】:需求分析

    本节内容 浅谈ITIL CMDB介绍 Django自定义用户认证 Restful 规范 资产管理功能开发 浅谈ITIL TIL即IT基础架构库(Information Technology Infra ...

随机推荐

  1. Python爬虫之正则表达式(2)

    # 最常规的匹配 import re content = 'Hello 123 4567 World_This is a Regex Demo' print(len(content)) result ...

  2. php去掉字符串的最后一个字符

    php去掉字符串的最后一个字符 //例如 $str = "12,34,56,"; $newstr = substr($str,0,strlen($str)-1); //从第一位开始 ...

  3. Eclipse启动报错,解决办法

    打开log日志,发现如下错误.原因是修改了计算机用户名导致 !SESSION Thu Aug 30 08:55:41 CST 2018 -------------------------------- ...

  4. SQLServer修改数据列

    修改数据列 在开发和生产过程中,列名的拼写错误或者列名的更改是需要操作数据表的,大多数情况下都是不需要修改的. 以下几种情况下我们并不能直接修改数据列: 1.用于索引的列. 2.用于 CHECK.FO ...

  5. 多线程--wait()和notify(),Thread中的等待和唤醒方法

    package com.thread.test; public class SimpleMN { final static Object object = new Object(); public s ...

  6. Java 前后端List传值

    js代码 function click(){ var arrays = new Array(); for (var i = 0; i < arr.length; i++) { arrays.pu ...

  7. 移动端无限滚动 TScroll.vue组件

    // 先看使用TScroll.vue的几个demo 1.https://sorrowx.github.io/TScroll/#/ 2. https://sorrowx.github.io/TScrol ...

  8. 解读 IoC 框架 InversifyJS

    原文链接 InversityJS 是一个 IoC 框架.IoC(Inversion of Control) 包括依赖注入(Dependency Injection) 和依赖查询(Dependency ...

  9. 玩转3D Swiper美女性感秀之思路分析总结

    前言 继一次的3D魔方之后,这次利用CSS3的transform.translate.rotate.preserve-3d等结合JS的requestAnimationFrame.class带你一起玩转 ...

  10. Powershell 函数中的CmdletBinding()是怎么回事?

    参考文章: Don Jones https://technet.microsoft.com/en-us/library/ff677563.aspx powershell 帮助文档: help abou ...