2021-10-26

关联用户

user_id = db.Column(db.Integer, db.ForeignKey('accounts_user.id'))
# 关联问题
q_id = db.Column(db.Integer, db.ForeignKey('qa_question.id'))

# 建立与用户的一对多属性
user = db.relationship('User', backref=db.backref('question_follow_list', lazy='dynamic'))
# 建立与问题的一对多属性
question = db.relationship('Question', backref=db.backref('question_follow_list', 

设计数据库
class User(db.Model):
“”" 用户模型 “”"
tablename = ‘accounts_user’
id = db.Column(db.Integer, primary_key=True, autoincrement=True) # 主键
# 用户名,用于登录
username = db.Column(db.String(64), unique=True, nullable=False)
# 用户昵称
nickname = db.Column(db.String(64))
password = db.Column(db.String(256), nullable=False)
# 用户的头像地址
avatar = db.Column(db.String(256))

# 是否有效,无效用户将不能登录系统
status = db.Column(db.SmallInteger,
                   default=constants.UserStatus.USER_ACTIVE.value,
                   comment='用户状态')
# 是否是超级管理员,管理员可以对所有内容进行管理
is_super = db.Column(db.SmallInteger,
                     default=constants.UserRole.COMMON.value)
# 创建时间
created_at = db.Column(db.DateTime, default=datetime.now)
# 最后修改的时间
updated_at = db.Column(db.DateTime,
                       default=datetime.now, onupdate=datetime.now)
# profile = db.relationship('UserProfile')

class UserProfile(db.Model):
“”" 用户详细信息 “”"
tablename = ‘accounts_user_profile’
id = db.Column(db.Integer, primary_key=True) # 主键
# 用户名,用于登录
username = db.Column(db.String(64), unique=True, nullable=False)
# 用户真实姓名
real_name = db.Column(db.String(64))
# 用户的格言
maxim = db.Column(db.String(128))
# 性别
sex = db.Column(db.String(16))
# 地址
address = db.Column(db.String(256))
# 创建时间
created_at = db.Column(db.DateTime, default=datetime.now)
# 最后修改的时间
updated_at = db.Column(db.DateTime,
default=datetime.now, onupdate=datetime.now)
# 关联用户
user_id = db.Column(db.Integer, db.ForeignKey(‘accounts_user.id’))
# 建立用户的一对一关系属性user.profile profile.user
user = db.relationship(‘User’, backref=db.backref(‘profile’, uselist=False))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值