1.發(fā)生背景:在django項(xiàng)目中需要一個(gè)項(xiàng)目管理和一個(gè)資產(chǎn)管理。就牽涉到多對多的關(guān)系,如下:
成都創(chuàng)新互聯(lián)公司是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站模板,微信公眾號(hào)開發(fā),軟件開發(fā),小程序設(shè)計(jì),10余年建站對樓梯護(hù)欄等多個(gè)方面,擁有豐富的網(wǎng)站推廣經(jīng)驗(yàn)。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):
"""
定義資產(chǎn)信息
"""
group = models.ManyToManyField(AssetGroup, blank=True, verbose_name=u"項(xiàng)目名")
env = models.IntegerField(choices=ASSET_ENV, blank=True, null=True, verbose_name=u"運(yùn)行環(huán)境")
ip = models.CharField(max_length=32, blank=True, null=True, verbose_name=u"主機(jī)IP")
other_ip = models.CharField(max_length=255, blank=True, null=True, verbose_name=u"聯(lián)通ip或者云主機(jī)ip")
system_version = models.CharField(max_length=8, blank=True, null=True, verbose_name=u"系統(tǒng)版本號(hào)")
kernel_version = models.CharField(max_length=32,blank=True,null=True,verbose_name=u'內(nèi)核版本信息')
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"機(jī)器狀態(tài)")
idc = models.ForeignKey(IDC, blank=True, null=True, on_delete=models.SET_NULL, verbose_name=u'機(jī)房')
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'內(nèi)存')
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.具體操作:
當(dāng)添加了資產(chǎn)和項(xiàng)目的時(shí)候,發(fā)現(xiàn)這2者并未產(chǎn)生關(guān)聯(lián),沒有對關(guān)聯(lián)表進(jìn)行任何操作,所以需要對關(guān)聯(lián)表進(jìn)行操作進(jìn)行關(guān)聯(lián)
在視圖里面的操作如下:
Group = AssetGroup.objects.filter(
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。