我正在使用Flask和SQLAlchemy以及数据库中的多对多关系。它很好用,但我想在user_routes
表中添加新属性(字符串tarif)。如何在查询中编辑此属性?这是可能的吗?谢谢。
这是我的插入数据库查询:
route = get_route(request.form['fromStation'],request.form['toStation'],date_object)
user = get_user(request.form['userToken'])
route.users.append(user)
user.routes.append(route)
db.session.commit()
模型
from app import db
user_routes = db.Table('user_routes',
db.Column('route_id', db.Integer, db.ForeignKey('route.route_id'), primary_key=True),
db.Column('user_id', db.Integer, db.ForeignKey('user.user_id'), primary_key=True)
)
class User(db.Model):
user_id = db.Column(db.Integer, primary_key=True)
token = db.Column(db.String(255), unique=True)
routes = db.relationship("Route", secondary=user_routes)
def __repr__(self):
return '<User %r>' % (self.token)
class Route(db.Model):
route_id = db.Column(db.Integer, primary_key=True)
route_from = db.Column(db.String(100))
route_to = db.Column(db.String(100))
date_time = db.Column(db.DateTime)
free_seats = db.Column(db.Integer)
users = db.relationship("User", secondary=user_routes)
def __repr__(self):
return '<Route %r>' % (self.route_id)