原本的表
class Fun1(models.Model):
InstanceId = models.CharField(max_length=50,primary_key=True)
InstanceName = models.CharField(max_length=50)
,想要建立张表和原本的表形成1对多关系,
于是,新建个表单,然后将外键关联在之前那个要关联的数据,
to="Fun1"指向表单
to_field="InstanceId"指向数据项,要唯一
class Disk(models.Model):
D_Id = models.CharField(max_length=50)
Size = models.IntegerField()
Jug_Dif = models.CharField(max_length=50)
fun = models.ForeignKey(to="Fun1",to_field="InstanceId",on_delete=models.CASCADE,)
on_delete=models.CASCADE删除项参数
models.CASCADE 此为默认值,级联删除,会删除关联数据
department = models.ForeignKey('Department', on_delete=models.CASCADE)
models.PROTECT 只要存在关联数据就不能删除
department = models.ForeignKey('Department', on_delete=models.PROTECT)
models.SET_NULL 删除数据后关联字段设置为NULL,仅在该字段允许为null时可用(null=True)
注:我migrate的时候因为键值设置出现报错,就成功部分数据库操作,然后老弄不干净,最后就删光,然后一步步拆解了migrate,先建表,再关联,才成的