怎么进行CMDB中的Django admin后台app操作

怎么进行CMDB中的Django admin后台app操作,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

Django的后台功能非常实用:

首先需注册app到后台

cat asset/apps.py
from __future__ import unicode_literals

from django.apps import AppConfig


class AssetConfig(AppConfig):
    name = 'asset'
    verbose_name = '环境列表'   # 后台显示的名称
    
cat asset/admin.py
from django.contrib import admin
from asset.models import Asset_pro, Asset_test, Redis_pro

# Register your models here.
admin.site.register([Asset_pro, Asset_test, Redis_pro])

登陆后台后,发现操作对象时报错:get() returned more than one topic -- it returned 2!
原因是数据库中插入了多条同样的数据,导致查询的时候不能区分需要获取哪一条数据  

怎么进行CMDB中的Django admin后台app操作

所以需要在models中定义:

class Asset_test(models.Model):
    nodes = models.CharField(max_length=20, verbose_name=u'应用节点')
    applications = models.CharField(max_length=30, verbose_name=u'应用名', primary_key=True) #后台app默认更改对象
    ipaddr = models.CharField(max_length=20, verbose_name=u'IP地址')  #需定义primary_key,否则会自动创建id列
    mobile = models.CharField(max_length=20, verbose_name='mobile')
    DMS = models.CharField(max_length=5, verbose_name='DMS')
    flag = models.CharField(max_length=5, verbose_name='flag')

    def __unicode__(self):
        return u"%s" %(self.ipaddr)

    class Meta:
        db_table = 'fcenv_test'  #表名,默认为app名+类名
        verbose_name = u'测试环境服务信息'
        verbose_name_plural = u'测试环境资产管理'

原则是必须要有一列数据是primary_key,然后后天操作数据时正常。

怎么进行CMDB中的Django admin后台app操作

后台修改数据,前端实时展现。

关于怎么进行CMDB中的Django admin后台app操作问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。