所谓的一对一关系就是数据库里两个数据表的id对应相等的值数据库字段相互联系对应,
删除主表从表数据也对应删除可在从表建立一对一字段,在字段值里添加主表的字符串,“主表名”然后在添加级联删除on_delete=models.CASCADE



from django.dbimport models
class Student(models.Model):
name = models.CharField(max_length=20,verbose_name='姓名')
age = models.SmallIntegerField(default=0,verbose_name='年龄')
sex = models.SmallIntegerField(default=1,verbose_name='性别')
qq = models.CharField(max_length=20,unique=True,null=True,verbose_name='qq号')
phone = models.CharField(max_length=20,unique=True,null=True,verbose_name='电话号')
c_time = models.DateTimeField(verbose_name='创建时间',auto_now_add=True)
e_time = models.DateTimeField(verbose_name='编辑时间',auto_now=True)
def __str__(self):
return '%s-%s' % (self.name, self.age)
class Meta:
verbose_name ='学生表'
verbose_name_plural = verbose_name

class StudentDetail(models.Model):
num = models.CharField(max_length=20,default='',verbose_name='学号')
college = models.CharField(max_length=20,default='',verbose_name='大学')
student = models.OneToOneField('Student',on_delete=models.CASCADE,verbose_name='级联删除')#级联删除,删除主表从表数据也将会删除
class Meta:
verbose_name ='学号表'
verbose_name_plural = verbose_name

网友评论