django—主机分组管理(3)

2023-01-31 02:01:15 管理 主机 分组

1.hostinfo应用下创建models表

说明:manytomany数据类型,成员取自于host这个表

class HostGroup(models.Model):
    groupname = models.CharField(max_length=50)
    members = models.ManyToManyField(Host)


1.png


2.初始化数据库

命令:python manage.py syncdb


3.进入数据库查看表结构

命令:sqlite3 db.sqlite3

.schema hostinfo_hostgroup

.schema hostinfo_hostgroup_members


1.png


4.定义admin显示

说明:只显示组的类型,不显示成员,因为是manytomany类型

class HostGroupAdmin(admin.ModelAdmin):
    list_display = ["groupname"]
    admin.site.reGISter(HostGroup, HostGroupAdmin)


1.png


访问结果:不友好

1.png


5.重新定义models的类,返回hostname或者ip等

def __unicode__(self):
    return self.hostname

#或者

def __str__(self):
    return self.hostname

1.png


访问结果:阴影部分就是组的成员

1.png

相关文章