django 다중 연관표 조작

11419 단어 djangomanytomany
1. 발생 배경:django 프로젝트에서 하나의 프로젝트 관리와 하나의 자산 관리가 필요하다.다대다의 관계가 관련되어 다음과 같다.
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(

좋은 웹페이지 즐겨찾기