1.概述
类似于淘宝网的商品分类,我们的实现也是类似的。需要一个主目录,主目录下有他自己的子目录,这就相当于主目录有个id,子目录挂一个pid,去关联他的主目录。
2.使用migrate创建数据库模型
2.1模型的建立
# /flask_shop/models.py
# 此文件用于建立数据库表的模型
# 需要针对数据库的模型
# from enum import unique
from flask_shop import db
# 对数据加密 检查密码
from werkzeug.security import generate_password_hash,check_password_hash
from datetime import datetime
# 商品分类
class Category(db.Model):
__tablename__ = 't_category'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(32), nullable=False)
level = db.Column(db.Integer)
# 外键的添加
pid = db.Column(db.Integer, db.ForeignKey('t_category.id'))
# 自关联的创建
children = db.relationship('Category')
def to_dict(self):
return {
'id': self.id,
'name': self.name,
'level': self.level,
'pid': self.pid
}
2.2映射数据库
python manager.py db init
python manager.py db migrate
python manager.py db upgrade
2.3Navicat测试查看是否成功
3.插入商品分类数据
这里已经准备好数据了,共有三级目录。
insert into t_category (level,name) value (1,'女装 /男装 /内衣');
insert into t_category (level,name) value (1,'鞋靴 /箱包 /配件');
insert into t_category (level,name) value (1,'童装玩具 /孕产 /用品');
insert into t_category (level,name) value (1,'家电 /数码 /手机');
insert into t_category (level,name) value (1,'美妆 /洗护 /保健品');
insert into t_category (level,name) value (1,'珠宝 /眼镜 /手表');
insert into t_category (level,name) value (1,'运动 /户外 /乐器');
insert into t_category (level,name) value (1,'游戏 /动漫 /影视');
insert into t_category (level,name) value (1,'美食 /生鲜 /零食');
insert into t_category (level,name) value (1,'鲜花 /宠物 /农资');
insert into t_category (level,name) value (1,'面料集采 /装修 /建材');
insert into t_category (level,name) value (1,'家具 /家饰 /家纺');
insert into t_category (level,name) value (1,'汽车 /二手车 /用品');
insert into t_category (level,name) value (1,'办公 /DIY /五金电子');
insert into t_category (level,name) value (1,'百货 /餐厨 /家庭保健');
insert into t_category (level,name) value (1,'学习 /卡券 /本地服务');
insert into t_category (level,pid,name) value (2,1,'女装');
insert into t_category (level,pid,name) value (2,1,'男装');
insert into t_category (level,pid,name) value (2,1,'内衣');
insert into t_category (level,pid,name) value (2,2,'鞋靴');
insert into t_category (level,pid,name) value (2,2,'箱包');
insert into t_category (level,pid,name) value (2,2,'配件');
insert into t_category (level,pid,name) value (2,3,'童装玩具');
insert into t_category (level,pid,name) value (2,3,'孕产');
insert into t_category (level,pid,name) value (2,3,'用品');
insert into t_category (level,pid,name) value (2,4,'家电');
insert into t_category (level,pid,name) value (2,4,'数码');
insert into t_category (level,pid,name) value (2,4,'手机');
insert into t_category (level,pid,name) value (2,5,'美妆');
insert into t_category (level,pid,name) value (2,5,'洗护');
insert into t_category (level,pid,name) value (2,5,'保健品');
insert into t_category (level,pid,name) value (2,6,'珠宝');
insert into t_category (level,pid,name) value (2,6,'眼镜');
insert into t_category (level,pid,name) value (2,6,'手表');
insert into t_category (level,pid,name) value (2,7,'运动');
insert into t_category (level,pid,name) value (2,7,'户外');
insert into t_category (level,pid,name) value (2,7,'乐器');
insert into t_category (level,pid,name) value (2,8,'游戏');
insert into t_category (level,pid,name) value (2,8,'动漫');
insert into t_category (level,pid,name) value (2,8,'影视');
insert into t_category (level,pid,name) value (2,9,'美食');
insert into t_category (level,pid,name) value (2,9,'生鲜');
insert into t_category (level,pid,name) value (2,9,'零食');
insert into t_category (level,pid,name) value (2,10,'鲜花');
insert into t_category (level,pid,name) value (2,10,'宠物');
insert into t_category (level,pid,name) value (2,10,'农资');
insert into t_category (level,pid,name) value (2,11,'面料集采');
insert into t_category (level,pid,name) value (2,11,'装修');
insert into t_category (level,pid,name) value (2,11,'建材');
insert into t_category (level,pid,name) value (2,12,'家具');
insert into t_category (level,pid,name) value (2,12,'家饰');
insert into t_category (level,pid,name) value (2,12,'家纺');
insert into t_category (level,pid,name) value (2,13,'汽车');
insert into t_category (level,pid,name) value (2,13,'二手车');
insert into t_category (level,pid,name) value (2,13,'用品');
insert into t_category (level,pid,name) value (2,14,'办公');
insert into t_category (level,pid,name) value (2,14,'DIY');
insert into t_category (level,pid,name) value (2,14,'五金电子');
insert into t_category (level,pid,name) value (2,15,'百货');
insert into t_category (level,pid,name) value (2,15,'餐厨');
insert into t_category (level,pid,name) value (2,15,'家庭保健');
insert into t_category (level,pid,name) value (2,16,'学习');
insert into t_category (level,pid,name) value (2,16,'卡券');
insert into t_category (level,pid,name) value (2,16,'本地服务');
insert into t_category (level,pid,name) value (3,17,'连衣裙');
insert into t_category (level,pid,name) value (3,17,'半身裙');
insert into t_category (level,pid,name) value (3,17,'毛针织衫');
insert into t_category (level,pid,name) value (3,17,'T恤');
insert into t_category (level,pid,name) value (3,17,'短外套');
insert into t_category (level,pid,name) value (3,17,'卫衣');
insert into t_category (level,pid,name) value (3,17,'汉服');
insert into t_category (level,pid,name) value (3,17,'JK制服');
insert into t_category (level,pid,name) value (3,17,'LOLITA');
insert into t_category (level,pid,name) value (3,17,'衬衫');
insert into t_category (level,pid,name) value (3,17,'百搭裤装');
insert into t_category (level,pid,name) value (3,17,'裤裙');
insert into t_category (level,pid,name) value (3,17,'牛仔裤');
insert into t_category (level,pid,name) value (3,17,'西装');
insert into t_category (level,pid,name) value (3,17,'大码女装');
insert into t_category (level,pid,name) value (3,17,'时尚套装');
insert into t_category (level,pid,name) value (3,17,'蕾丝衫/雪纺衫');
insert into t_category (level,pid,name) value (3,17,'风衣');
insert into t_category (level,pid,name) value (3,17,'休闲裤');
insert into t_category (level,pid,name) value (3,17,'背心吊带');
insert into t_category (level,pid,name) value (3,17,'马夹');
insert into t_category (level,pid,name) value (3,17,'牛仔外套');
insert into t_category (level,pid,name) value (3,17,'阔腿裤');
insert into t_category (level,pid,name) value (3,17,'中老年女装');
insert into t_category (level,pid,name) value (3,17,'婚纱礼服');
insert into t_category (level,pid,name) value (3,17,'民族服装');
insert into t_category (level,pid,name) value (3,17,'打底裤');
insert into t_category (level,pid,name) value (3,17,'西装裤');
insert into t_category (level,pid,name) value (3,17,'唐装');
insert into t_category (level,pid,name) value (3,17,'旗袍');
insert into t_category (level,pid,name) value (3,18,'春夏新品');
insert into t_category (level,pid,name) value (3,18,'T恤');
insert into t_category (level,pid,name) value (3,18,'衬衫');
insert into t_category (level,pid,name) value (3,18,'POLO衫');
insert into t_category (level,pid,name) value (3,18,'休闲裤');
insert into t_category (level,pid,name) value (3,18,'牛仔裤');
insert into t_category (level,pid,name) value (3,18,'套装');
insert into t_category (level,pid,name) value (3,18,'外套');
insert into t_category (level,pid,name) value (3,18,'夹克');
insert into t_category (level,pid,name) value (3,18,'卫衣');
insert into t_category (level,pid,name) value (3,18,'风衣');
insert into t_category (level,pid,name) value (3,18,'西装');
insert into t_category (level,pid,name) value (3,18,'牛仔外套');
insert into t_category (level,pid,name) value (3,18,'棒球服');
insert into t_category (level,pid,name) value (3,18,'品质好物');
insert into t_category (level,pid,name) value (3,18,'皮衣');
insert into t_category (level,pid,name) value (3,18,'针织衫/毛衣');
insert into t_category (level,pid,name) value (3,18,'运动裤');
insert into t_category (level,pid,name) value (3,18,'工装裤');
insert into t_category (level,pid,name) value (3,18,'开衫');
insert into t_category (level,pid,name) value (3,18,'马甲');
insert into t_category (level,pid,name) value (3,18,'毛呢大衣');
insert into t_category (level,pid,name) value (3,18,'羽绒服');
insert into t_category (level,pid,name) value (3,18,'棉衣');
insert into t_category (level,pid,name) value (3,18,'中老年');
insert into t_category (level,pid,name) value (3,18,'情侣装');
insert into t_category (level,pid,name) value (3,18,'大码');
insert into t_category (level,pid,name) value (3,18,'民族风');
insert into t_category (level,pid,name) value (3,18,'专柜大牌');
insert into t_category (level,pid,name) value (3,18,'明星网红');
insert into t_category (level,pid,name) value (3,18,'原创设计');
insert into t_category (level,pid,name) value (3,19,'法式内衣');
insert into t_category (level,pid,name) value (3,19,'无钢圈内衣');
insert into t_category (level,pid,name) value (3,19,'内裤女');
insert into t_category (level,pid,name) value (3,19,'文胸');
insert into t_category (level,pid,name) value (3,19,'内裤男');
insert into t_category (level,pid,name) value (3,19,'长袖睡衣');
insert into t_category (level,pid,name) value (3,19,'睡裙');
insert into t_category (level,pid,name) value (3,19,'真丝睡衣');
insert into t_category (level,pid,name) value (3,19,'丝袜');
insert into t_category (level,pid,name) value (3,19,'船袜');
insert into t_category (level,pid,name) value (3,19,'情侣睡衣');
insert into t_category (level,pid,name) value (3,19,'抹胸');
insert into t_category (level,pid,name) value (3,19,'背心');
insert into t_category (level,pid,name) value (3,19,'睡袍');
insert into t_category (level,pid,name) value (3,19,'男士睡衣');
insert into t_category (level,pid,name) value (3,19,'塑身衣');
insert into t_category (level,pid,name) value (3,19,'内衣套装');
insert into t_category (level,pid,name) value (3,19,'打底裤');
insert into t_category (level,pid,name) value (3,19,'连体睡衣');
insert into t_category (level,pid,name) value (3,19,'聚拢文胸');
insert into t_category (level,pid,name) value (3,19,'男士袜子');
insert into t_category (level,pid,name) value (3,19,'棉袜女');
insert into t_category (level,pid,name) value (3,19,'卡通睡衣');
insert into t_category (level,pid,name) value (3,19,'无痕内裤');
insert into t_category (level,pid,name) value (3,19,'少女文胸');