zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

109.(后端)商品管理Model创建——flask-migrate建立数据库模型

数据库 管理 创建 模型 建立 Flask model 商品
2023-09-27 14:23:04 时间

1.概述

在上述操作中,我们已经完成了建立商品的分类模型与参数模型,这里就可以去建立具体的商品信息模型。

2.代码展示

# /flask_shop/models.py
# 此文件用于建立数据库表的模型

# 需要针对数据库的模型
from flask_shop import db
# 对数据加密         检查密码
from werkzeug.security import generate_password_hash,check_password_hash
from datetime import datetime
# 商品
class Goods(db.Model):
    __tablename__ = 't_goods'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(512)) # 商品名称
    price = db.Column(db.Float)
    number = db.Column(db.Integer) # 商品库存
    introduce = db.Column(db.Text) # 商品介绍
    big_log = db.Column(db.String(256)) # 商品大照片
    small_log = db.Column(db.String(256)) # 商品小照片
    state = db.Column(db.Integer) # 0未通过 1审核中 2已审核
    is_promte = db.Column(db.Integer) # 是否促销
    hot_number = db.Column(db.Integer) # 促销数量
    weight = db.Column(db.Integer) # 权重比例:用于促销
    cid_one = db.Column(db.Integer, db.ForeignKey('t_category.id'))
    cid_two = db.Column(db.Integer, db.ForeignKey('t_category.id'))
    cid_three = db.Column(db.Integer, db.ForeignKey('t_category.id')) # 属于哪个商品分类,有三级菜单

    # 外键的方式与Category表建立关系
    category = db.relationship('Category', foreign_keys=[cid_three])

    def to_dict(self):
        return {
            'id': self.id,
            'name': self.name,
            'price': self.price,
            'number': self.number,
            'introduce': self.introduce,
            'big_log': self.big_log,
            'small_log': self.small_log,
            'state': self.state,
            'is_promte': self.is_promte,
            'hot_number': self.hot_number,
            'weight': self.weight,
            'cid_one': self.cid_one,
            'cid_two': self.cid_two,
            'cid_three': self.cid_three,
            'attrs': [a.to_dict() for a in self.category.attrs]

        }

3.映射数据库

python manager.py db init
python manager.py db migrate
python manager.py db upgrade

4.Navicat效果展示

在这里插入图片描述