CMDB之Django 数据库ORM操作
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,CMDB实现数据展示功能部分代码。views.pydef asset(request): asset = Asset.objects.all() return render_to_resp
千家信息网最后更新 2026年11月01日CMDB之Django 数据库ORM操作
CMDB实现数据展示功能部分代码。views.pydef asset(request): asset = Asset.objects.all() return render_to_response("asset.html",{'asset': asset}) models.pyclass Asset(models.Model): ipaddr = models.CharField(max_length=20, verbose_name=u'IP地址', primary_key=True) #需定义primary_key,否则会自动创建id列 hostname = models.CharField(max_length=30, verbose_name=u'主机名') nodes = models.CharField(max_length=20, verbose_name=u'应用节点') applications = models.CharField(max_length=30, verbose_name=u'应用名') group = models.CharField(max_length=20, verbose_name=u'应用组名') memory = models.CharField(max_length=5, verbose_name='内存大小') env = models.CharField(max_length=5, verbose_name='环境变量') flag = models.PositiveSmallIntegerField(verbose_name=u'flag') #def __unicode__(self): # return u'%s,%s,%s,%s,%s,%s,%s,%s' %(self.ipaddr, self.hostname, self.nodes, self.app, self.group, self.memory, self.disk, self.cpu) class Meta: db_table = 'fcenv_copy' #表名,默认为app名+类名 verbose_name = u'主机资产信息' verbose_name_plural = u'主机资产信息管理' asset.html| IP地址 | 机器名 | 节点 | 应用名称 | 组别 | 内存 | 环境变量 | flag | 操作 |
|---|---|---|---|---|---|---|---|---|
| {{ value.ipaddr }} | {{ value.hostname }} | {{ value.nodes }} | {{ value.applications }} | {{ value.group }} | {{ value.memory }} | {{ value.env }} | {{ value.flag }} | 编辑 连接 删除 | {% endfor %}
以下是常用ORM操作:
# models.Tb1.objects.create(c1='xx', c2='oo') 增加一条数据,可以接受字典类型数据 **kwargs
# obj = models.Tb1(c1='xx', c2='oo') # obj.save() # 查 # # models.Tb1.objects.get(id=123) # 获取单条数据,不存在则报错(不建议) # models.Tb1.objects.all() # 获取全部 # models.Tb1.objects.filter(name='seven') # 获取指定条件的数据 # 删 # # models.Tb1.objects.filter(name='seven').delete() # 删除指定条件的数据 # 改 # models.Tb1.objects.filter(name='seven').update(gender='0') # 将指定条件的数据更新,均支持 **kwargs # obj = models.Tb1.objects.get(id=1) # 修改单条数据 # obj.c1 = '111' # obj.save() # 获取个数 # # models.Tb1.objects.filter(name='seven').count() # 大于,小于 # # models.Tb1.objects.filter(id__gt=1) # 获取id大于1的值 # models.Tb1.objects.filter(id__lt=10) # 获取id小于10的值 # models.Tb1.objects.filter(id__lt=10, id__gt=1) # 获取id大于1 且 小于10的值 # in # # models.Tb1.objects.filter(id__in=[11, 22, 33]) # 获取id等于11、22、33的数据 # models.Tb1.objects.exclude(id__in=[11, 22, 33]) # not in # contains # # models.Tb1.objects.filter(name__contains="ven") # models.Tb1.objects.filter(name__icontains="ven") # icontains大小写不敏感 # models.Tb1.objects.exclude(name__icontains="ven") # range # # models.Tb1.objects.filter(id__range=[1, 2]) # 范围bettwen and # 其他类似 # # startswith,istartswith, endswith, iendswith, # order by # # models.Tb1.objects.filter(name='seven').order_by('id') # asc # models.Tb1.objects.filter(name='seven').order_by('-id') # desc # limit 、offset # # models.Tb1.objects.all()[10:20] # group by from django.db.models import Count, Min, Max, Sum # models.Tb1.objects.filter(c1=1).values('id').annotate(c=Count('num'))# SELECT "app01_tb1"."id", COUNT("app01_tb1"."num") AS "c" FROM "app01_tb1" WHERE "app01_tb1"."c1" = 1 GROUP BY "app01_tb1"."id"
Many-to-one relationships 多表关联查询。
from django.db import modelsclass Reporter(models.Model): first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=30) email = models.EmailField() def __str__(self): # __unicode__ on Python 2 return "%s %s" % (self.first_name, self.last_name)class Article(models.Model): headline = models.CharField(max_length=100) pub_date = models.DateField() reporter = models.ForeignKey(Reporter, on_delete=models.CASCADE) def __str__(self): # __unicode__ on Python 2 return self.headline class Meta: ordering = ('headline',) >>> r.article_set.filter(headline__startswith='This')]># Find all Articles for any Reporter whose first name is "John".>>> Article.objects.filter(reporter__first_name='John'), ]> 效果图。
附件是样式文件。
附件:http://down.51cto.com/data/2368115
数据
应用
主机
条件
信息
内存
变量
地址
大小
环境
节点
资产
附件
个数
代码
功能
名称
字典
常用
建议
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
天津市摩尔互联网科技
上海睿民互联网科技有限公司
国智互联网科技
互联网的科技
互联网核心科技是什么
科技企业和互联网企业
互联网中国科技
平安科技 互联网
美国互联网科技
互联网科技ppt模板
齐家互联网科技有限公司
卓越科技互联网 招聘
无锡溥仪互联网科技有限公司
哈尔滨新华互联网科技学院
辽宁互联网新科技
高科技互联网套路
上海同邻互联网科技有限公司规模
第三届互联网大会安防黑科技
亚光科技低轨卫星互联网
互联网科技企业文化
互联网金融科技
美国互联网科技巨头监管
互联网科技公司电话
中国最先进互联网科技公司
成都玖崟互联网科技有限公司乐商圈怎么样
金融科技与互联网金融相同和不同
工业互联网等科技实现智能化赋能
互联网数据科技专业
广州富喜互联网络科技
互联网科技融合创新