一,新建HeroInfo类
在BookInfo类下面继续建立一个类
class HeroInfo(models.Model):
hname=models.CharField(max_length=20) #英雄名称
hgender=models.BooleanField(default=True) #性别 为bool类型,且默认值为true true代表女 false代表男
hcomment=models.CharField(max_length=128)
hbook =models.ForeignKey('BookInfo') #外键,生成一对多的关系
生成迁移文件
python manage.py makemigrations
可以发现migrations文件夹下多了一个文件
迁移表
python manage.py migrate
打开数据库可以发现生成了对应的字段名
hbook即为外键
二,打开shell
python manage.py shell
在shell中执行下列语句:
#引入两个模型类
from booktest.models import BookInfo,HeroInfo
b=BookInfo()
b.btitle="测试2"
from datetime import date
b.bpub_date=date(1999,3,1)
b.save()
h=HeroInfo()
h.hname="英雄1"
h.hgender=False
h.hcomment="六脉神剑"
#设置hook的外键
h.hbook=b
h.save()
在h.hbook=b
语句指明hook的外键为b
save()后查看数据库文件:
可以发现生成了对应的关系
由多查一查看关联属性 对象名.字段名
h.hbook
查询一对多的关系 对象名.类名小写_set.all()
返回一个列表的所有对应关系
b.heroinfo_set.all()