cmdb资产管理系统server端资产新增和修改(内存和网卡)

内存相关代码

from repository import models

class Memory(object):
    def __init__(self,server_obj,info):
        self.server_obj=server_obj
        self.memory_dict=info
    def process(self):
        # 更新内存信息
        new_memory_info_dict = self.memory_dict['data']
        old_memory_info_list = self.server_obj.memory.all()
        new_memory_slot_set = set(new_memory_info_dict.keys())
        old_memory_slot_set = {obj.slot for obj in old_memory_info_list}
        add_slot_list = new_memory_slot_set.difference(old_memory_slot_set)
        del_slot_list = old_memory_slot_set.difference(new_memory_slot_set)
        update_slot = old_memory_slot_set.intersection(new_memory_slot_set)
        # 新增内存
        memory_record_list = []
        for slot in add_slot_list:
            value = new_memory_info_dict[slot]
            value['server_obj'] = self.server_obj
            record = "添加内存……"
            memory_record_list.append(record)
            models.Memory.objects.create(**value)
        # 删除内存
        models.Memory.objects.filter(server_obj=self.server_obj, slot__in=del_slot_list).delete()
        # 更新内存
        for slot in update_slot:
            value = new_memory_info_dict[slot]
            obj = models.Memory.objects.filter(server_obj=self.server_obj, slot=slot)
            for k, new_v in value.items():
                old_v = getattr(obj, k, )
                if old_v != new_v:
                    setattr(obj, k, new_v)
            obj.save()

网卡相关代码

网卡配置与其他的硬件不同,value里没有槽位信息,直接**value信息录入不全,我把slot当做网卡的name,新增网卡对象时一一创建每个字段

from repository import models

class Nic(object):
    def __init__(self,server_obj,info):
        self.server_obj=server_obj
        self.nic_dict=info
    def process(self):
        # 更新网卡信息
        new_nic_info_dict = self.nic_dict['data']
        old_nic_info_list = self.server_obj.nic.all()
        new_nic_slot_set = set(new_nic_info_dict.keys())
        old_nic_slot_set = {obj.slot for obj in old_nic_info_list}
        add_slot_list = new_nic_slot_set.difference(old_nic_slot_set)
        del_slot_list = old_nic_slot_set.difference(new_nic_slot_set)
        update_slot = old_nic_slot_set.intersection(new_nic_slot_set)
        # 新增网卡
        nic_record_list = []
        for slot in add_slot_list:
            value = new_nic_info_dict[slot]
            # print(value)
            value['server_obj'] = self.server_obj
            record = "添加网卡……"
            nic_record_list.append(record)
            models.NIC.objects.create(
                name=slot,
                hwaddr=value['hwaddr'],
                netmask=value['netmask'],
                ipaddrs=value['ipaddrs'],
                up=value['up'],
                server_obj=value['server_obj']
            )
        # 删除网卡
        models.NIC.objects.filter(server_obj=self.server_obj, slot__in=del_slot_list).delete()
        # 更新网卡
        for slot in update_slot:
            value = new_nic_info_dict[slot]
            obj = models.NIC.objects.filter(server_obj=self.server_obj, slot=slot)
            for k, new_v in value.items():
                old_v = getattr(obj, k, )
                if old_v != new_v:
                    setattr(obj, k, new_v)
            obj.save()

  

转载于:https://www.cnblogs.com/xiaohema/p/7630225.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统根据B/S,即所谓的电脑浏览器/网络服务器方式,运用Java技术性,挑选MySQL作为后台系统。系统主要包含对客服聊天管理、字典表管理、公告信息管理、金融工具管理、金融工具收藏管理、金融工具银行卡管理、借款管理、理财产品管理、理财产品收藏管理、理财产品银行卡管理、理财银行卡信息管理、银行卡管理、存款管理、银行卡记录管理、取款管理、转账管理、用户管理、员工管理等功能模块。 文中重点介绍了银行管理的专业技术发展背景和发展状况,随后遵照软件传统式研发流程,最先挑选适用思维和语言软件开发平台,依据需求分析报告模块和设计数据库结构,再根据系统功能模块的设计制作系统功能模块图、流程表和E-R图。随后设计架构以及编写代码,并实现系统能模块。最终基本完成系统检测和功能测试。结果显示,该系统能够实现所需要的作用,工作状态没有明显缺陷。 系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。进入银行卡列表,管理员可以进行查看列表、模糊搜索以及相关维护等操作。用户进入系统可以查看公告和模糊搜索公告信息、也可以进行公告维护操作。理财产品管理页面,管理员可以进行查看列表、模糊搜索以及相关维护等操作。产品类型管理页面,此页面提供给管理员的功能有:新增产品类型,修改产品类型,删除产品类型。
Python-CMDB资产管理系统项目是基于Python编程语言开发的一种用于管理企业资产信息系统。CMDB(Configuration Management Database)是一种用于记录和管理组织内所有硬件和软件资源的数据库。该项目的目标是通过实现一个功能强大且易于使用的资产管理系统,帮助企业更好地管理和维护其资产库。 该系统具备以下特点和功能: 1. 资产信息管理:可以录入和管理所有的企业资产信息,包括硬件设备、软件和网络设备等。用户可以根据自己的需求添加、修改和删除资产信息,并可以对资产进行分类和标记,便于查找和管理。 2. 资产追踪和监控:系统可以实时追踪和监控所有资产的状态和位置,帮助用户快速定位和管理资产。例如,用户可以查询特定设备的位置、使用状况和维护历史等信息。 3. 资产维护计划:系统可以为每个资产设置维护计划,包括定期检查、保养和维修等。用户可以根据资产的使用情况和维护需求制定和调整维护计划,以确保资产的正常运行。 4. 报表和统计分析:系统可以生成各种报表和统计分析图表,帮助用户了解和掌握资产的整体情况和趋势。用户可以根据报表和图表的结果做出决策和调整管理策略。 5. 安全和权限管理:系统支持用户权限管理,可以设置不同用户的访问权限,保护重要数据和操作不受未经授权的访问。 Python-CMDB资产管理系统项目使用Python语言开发,具有开源、跨平台和易于扩展等优势。同时,Python拥有丰富强大的库和框架,可以快速开发和调试系统。通过该项目,企业可以有效地管理和维护其资产,提高工作效率和资产利用率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值