my-love-is-python

多对多数据库的建立

class Host(models.Model):
    nid = models.AutoField(primary_key=True)  #自增id
    hostname = models.CharField(max_length=32, db_index=True)
    ip = models.GenericIPAddressField(db_index=True)
    port = models.IntegerField(max_length=32)
    b = models.ForeignKey(to=\'Business\', to_field=\'id\', on_delete=models.CASCADE)

class Application(models.Model):
    name = models.CharField(max_length=32, null=True)
    r = models.ManyToManyField(\'Host\')

通过models.ManyToManyField 创立 Host 与 Application的连接

v1 = models.Application.object.all()

v1.name 

for i in v1.r.all():

     i.hostname

 

增加:

obj = models.Application.object.create(name)

obj.r.add(hostname)

改:
obj = models.Application.object.get(id=nid)

obj.name = name 

obj.r.set(hostname)

obj = models.Application.object.get(id=nid)

models.Application.object.delete(id=nid)

obj.r.clear()

 

分类:

技术点:

相关文章: