Python全系列 教程
3567个小节阅读:5930.7k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
在实际的数据关系中,有可能会产生一些有关联性的数据,比如说:
课程表与学生表建立关系
公司表与产品表建立关系
问题
如何建立表之间的关联关系?
解决方案
使用字段
ForeignKeyField
建立外键关系,ForeignKeyField
是一种特殊的字段类型,它允许一个模型引用另一个模型
代码如下:
xxxxxxxxxx
from peewee import *
from peewee import database_required
# 1. 获取数据库的链接
db = MySQLDatabase('tornado_db',host='192.168.30.151',port=3306,user='root',passwd='123')
# 创建一个基础模型类
class BaseModel(Model):
class Meta:
database = db
# 2. 创建表的结构-模型类
class Commany(BaseModel):
name = CharField(verbose_name='公司名称')
full_name = CharField(verbose_name='公司全名称')
year = IntegerField(verbose_name='开业时间')
class Meta:
table_name = 't_commany'
class Music(BaseModel):
name = CharField(verbose_name='音乐名称')
singer = CharField(verbose_name='演唱者')
duration = CharField(verbose_name='时长')
_type = CharField(verbose_name='类型')
# 3. 创建关联关系
# 如果没有写field,会默认用另一张表的主键做外键
# 会创建一响应的变量名ID,比如:commany_id
commany = ForeignKeyField(Commany,verbose_name='版权所属',backref='musics')
class Meta:
table_name = 't_music'
# 4. 映射表
def init_table():
db.create_tables([Commany,Music])
if __name__ =='__main__':
init_table()
实时学习反馈
1. 对于peewee,建立表关联关系说法错误的是?
A 建立表的关联关系,可以通过ForeignKey属性设置
B 建立表的关联关系,可以通过ForeignKeyField字段设置
C 建立表的关联关系时,ForeignKeyField字段可以自己关联主键ID
D 建立表的关联关系时,可以通过backref
参数来设置反向查找
答案
1=>A