学生和学生证关系
class Student(models.Model):
sno = models.AutoField(primary_key=True)
sname = models.CharField(max_length=30)
def __unicode__(self):
return u‘Student:%s‘%self.sname
class Scard(models.Model):
stu = models.OneToOneField(Student,primary_key=True,on_delete=models.CASCADE)
major = models.CharField(max_length=30,unique=True)
def __unicode__(self):
return u‘Scard:%s‘%self.major
#插入数据
s1 = Student.objects.create(sname=‘zhangsan‘)
s2 = Student.objects.create(sname=‘lisi‘)
Scard.objects.create(stu=s1,major=‘数学‘)
<Scard: [Bad Unicode data]>
Scard.objects.create(stu=s2,major=‘语文‘)
<Scard: [Bad Unicode data]>
#查询数据 正向查询 scard 为 models 里面的类,查询时候用类小写
Student.objects.first().scard
<Scard: Scard:数学>
#查新数据 逆向查询 stu 为 Scard类中的属性,也就是字段
Scard.objects.first().stu
<Student: Student:zhangsan>
原文:https://www.cnblogs.com/lixinliang/p/14187861.html