189 8069 5689

django多对多关联表的操作-创新互联

1.发生背景:在django项目中需要一个项目管理和一个资产管理。就牵涉到多对多的关系,如下:

成都创新互联公司是一家朝气蓬勃的网站建设公司。公司专注于为企业提供信息化建设解决方案。从事网站开发,网站制作,网站设计,网站模板,微信公众号开发,软件开发,小程序设计,10余年建站对楼梯护栏等多个方面,拥有丰富的网站推广经验。
class AssetGroup(models.Model):
  GROUP_TYPE = (
    ('P','PRIVATE'),
    ('A','ASSET')
  )
  name = models.CharField(max_length=80,unique=True)
  comment = models.CharField(max_length=300,blank=True,null=True)

  def __unicode__(self):
    return self.name
class Asset(models.Model):
  """
  定义资产信息
  """
  group = models.ManyToManyField(AssetGroup, blank=True, verbose_name=u"项目名")
  env = models.IntegerField(choices=ASSET_ENV, blank=True, null=True, verbose_name=u"运行环境")
  ip = models.CharField(max_length=32, blank=True, null=True, verbose_name=u"主机IP")
  other_ip = models.CharField(max_length=255, blank=True, null=True, verbose_name=u"联通ip或者云主机ip")
  system_version = models.CharField(max_length=8, blank=True, null=True, verbose_name=u"系统版本号")
  kernel_version = models.CharField(max_length=32,blank=True,null=True,verbose_name=u'内核版本信息')
  ssh_version = models.CharField(max_length=32,blank=True,null=True,verbose_name=u'ssh版本信息')
  status = models.IntegerField(choices=ASSET_STATUS, blank=True, null=True, default=1, verbose_name=u"机器状态")
  idc = models.ForeignKey(IDC, blank=True, null=True,  on_delete=models.SET_NULL, verbose_name=u'机房')
  cpu = models.CharField(max_length=64, blank=True, null=True, verbose_name=u'CPU')
  memory = models.CharField(max_length=128, blank=True, null=True, verbose_name=u'内存')
  disk = models.CharField(max_length=1024, blank=True, null=True, verbose_name=u'硬盘')
  date_added = models.DateTimeField(auto_now=True, null=True)
  comment = models.CharField(max_length=128, blank=True, null=True, verbose_name=u"备注")

2.具体操作:
当添加了资产和项目的时候,发现这2者并未产生关联,没有对关联表进行任何操作,所以需要对关联表进行操作进行关联
在视图里面的操作如下:
Group = AssetGroup.objects.filter(

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:django多对多关联表的操作-创新互联
文章路径:http://cdxtjz.cn/article/ejhoj.html

其他资讯