◆ 外键
如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。
创建外键:
#表一
class Foo(models.Model):
name = models.CharField(max_length=1)
#表二
class Business(models.Model):
# id
caption = models.CharField(max_length=32)
code = models.CharField(max_length=32,null=True,default="SA")
fk = models.ForeignKey('Foo') #不写关联表字段,默认为关联表主键
#表三
class Host(models.Model):
nid = models.AutoField(primary_key=True)
hostname = models.CharField(max_length=32,db_index=True)
ip = models.GenericIPAddressField(protocol="ipv4",db_index=True)
port = models.IntegerField()
b = models.ForeignKey(to="Business", to_field='id')
◆ 外键查询:
1、通过点"."进行跨表
#
v = models.Host.objects.filter(nid__gt=0)
v[0].b.caption
v[0].b.fk