django—主机分组管理(3)

发布时间:2019-08-24 09:25:29编辑:auto阅读(1353)

    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

关键字