为了账号安全,请及时绑定邮箱和手机立即绑定

Sqlalchemy - 一对多用户定位

Sqlalchemy - 一对多用户定位

人到中年有点甜 2021-09-23 09:26:09
希望一切顺利。我很难弄清楚如何用 Flask 和 SQLALCHEMY 编写这个数据库功能。我希望能够向数据库中已经存在的站点注册用户。注册它们时,我希望路由能够将该用户分配给数据库中的站点模型。我想这样做的原因是我以后可以向连接到特定站点的所有用户发送一条消息,或者向所有站点的所有用户发送一条消息。这是我目前的用户和站点模型:class User(db.Model, UserMixin):id = db.Column(db.Integer, primary_key=True)site = db.Column(db.String())username = db.Column(db.String(20), unique=True, nullable=False)email = db.Column(db.String(100), unique=True, nullable=False)password = db.Column(db.String(60), nullable=False)adminstatus = db.Column(db.Boolean)user_data = db.relationship('Rma', backref='userdata', lazy=True)# sites = db.relationship('Sites', secondary=usertosite, backref=db.backref('sites', lazy='dynamic'))def __repr__(self):    return f"User('{self.username}, '{self.email}')"class Sites(db.Model):id = db.Column(db.Integer, primary_key=True)sitename = db.Column(db.String(), nullable=False)contractstart = db.Column(db.String(), nullable=False)contractend = db.Column(db.String(), nullable = False)hwkey = db.Column(db.String(), nullable=False)stations = db.Column(db.String(), nullable=False)printers = db.Column(db.String(), nullable = False)remprinters = db.Column(db.String(), nullable = False)bof = db.Column(db.Boolean())processor = db.Column(db.String(), nullable = False)giftopt = db.Column(db.String(), nullable = False)我不确定如何做到这一点,因为通常当我将表单添加到数据库时,我会将所有表单元素添加到特定模型。如果我尝试一对多的关系,我将不得不分配 Sites 模型及其所有元素以及不理想的特定用户,因为该站点已经在 db 中创建。我是一个超级菜鸟,我可能遗漏了一些步骤,但如果可能,请提供帮助。谢谢你们。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 158 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号