1.hostinfo应用下创建models表

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

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


django—主机分组管理(3)_第1张图片


2.初始化数据库

命令:python manage.py syncdb


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

命令:sqlite3 db.sqlite3

.schema hostinfo_hostgroup

.schema hostinfo_hostgroup_members


django—主机分组管理(3)_第2张图片


4.定义admin显示

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

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


django—主机分组管理(3)_第3张图片


访问结果:不友好

django—主机分组管理(3)_第4张图片


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

def __unicode__(self):
    return self.hostname

#或者

def __str__(self):
    return self.hostname

django—主机分组管理(3)_第5张图片


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

django—主机分组管理(3)_第6张图片