flask sqlalchemy 的一对多关系怎么添加数据?
举例:
主-用户,唯一
class UserInfo(db.Model):
__tablename__ = 'user_info'
id = db.Column(db.Integer, primary_key=True)
u_id = db.Column(db.String(80), unique=True)
u_account = db.relationship('Account', backref='user_info', lazy='dynamic')
用户账户信息,多个系统,一个用户存多个账户
class Account(db.Model):
__tablename__ = 'account'
id = db.Column(db.Integer, primary_key=True)
a_info_id = db.Column(db.Integer, db.ForeignKey('user_info.id'))
a_type = db.Column(db.Integer) # 各系统编号
a_account = db.Column(db.String(256))
a_password = db.Column(db.String(256))
然后代码里怎么添加用户的账户信息,假设用户已存在:
current_user = UserInfo.query.filter_by(u_id=id).first()
为 current_user 添加账户信息:
new_account = Account(
a_type=1,
a_account=username,
a_password=password,
)
请问怎么添加 new_account 能使得此账户信息属于 current_user ?
我尝试过:
new_account.user_info.append(current_user)
db.session.add(new_account)
db.session.commit()
但是错了,这应该是多对多的添加方式,一对多该怎么写呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.