赞
踩
在多表之间存在互相关联的关系很正常,让他们建立好关系的方式就是做一个外键。
在peewee的创建外键又有很多的不同,具体看代码展示吧
from peewee import *
from peewee import database_required
# 1.获取数据库的链接
db = MySQLDatabase('tornado_db', host='127.0.0.1', port=3306, user='root',passwd='root')
# 创建一个基础模型类
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 = IntegerField(verbose_name='时长')
_type = IntegerField(verbose_name='类型')
# 3.创建关联关系
# 如果没有些field,会默认用另一张表的主键做外键
# 会创建相应的变量名id,比如commany_id
# commany并不是外键的名称,是一个外键对象,默认是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()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。