Python全系列 教程
3567个小节阅读:5929.4k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
修改flask_shop/models
的Menu模型
xxxxxxxxxx
from datetime import datetime
from werkzeug.security import generate_password_hash, check_password_hash
from flask_shop import db
class BaseModel(object):
create_time = db.Column(db.DateTime, default=datetime.now)
update_time = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now)
class User(db.Model,BaseModel):
__tablename__ = 't_users'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(32), unique=True,nullable=False)
pwd = db.Column(db.String(128))
nick_name = db.Column(db.String(32))
phone = db.Column(db.String(11))
email = db.Column(db.String(32))
@property
def password(self):
return self.pwd
@password.setter
def password(self, pwd):
# 数据密码数据加密
self.pwd = generate_password_hash(pwd)
def check_password(self, pwd):
# 检查密码是否正确
return check_password_hash(self.pwd, pwd)
class Menu(db.Model):
__tablename__ = 't_menus'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(32), unique=True,nullable=False)
path = db.Column(db.String(32))
level = db.Column(db.Integer, default=1)
pid = db.Column(db.Integer, db.ForeignKey('t_menus.id'))
children = db.relationship('Menu')
def to_dict_tree(self):
return {
'id': self.id,
'name': self.name,
'path': self.path,
'level': self.level,
'pid': self.pid,
'children': [child.to_dict_tree() for child in self.children]
}
def to_dict_list(self):
return {
'id': self.id,
'name': self.name,
'path': self.path,
'level': self.level,
'pid': self.pid,
}