【发布时间】:2014-10-12 01:37:01
【问题描述】:
我正在尝试使用 Flask 和 SQLAlchemy 创建一对多关系。
我希望一对多的关系是这样的:
“对于任何一部电影,都可以有多个角色”
这是我到目前为止所拥有的,但它现在以一对一的形式保存在我的数据库中。 (一部电影对一个角色,在数据库中为多个角色保存多次)
class Movie(db.Model):
__tablename__ = "movies"
id = db.Column('movies_id', db.Integer, primary_key=True)
movie_type = db.Column('movie_type', db.Text())
def __init__(self, movie_type):
self.movie_type = movie_type
def __repr__(self):
return '<Movie %r>' % self.id
class Character(db.Model):
__tablename__ = "characters"
id = db.Column('character_id', db.Integer, primary_key=True)
character_description = db.Column('character_description', db.Text())
movie_id = db.Column(db.Integer, db.ForeignKey('movies.movie_id'))
movie = db.relationship('Movie', backref='characters', lazy='dynamic')
def __init__(self, character_description, movie):
self.character_description = character_description
self.movie = movie
def __repr__(self):
return '<Character %r>' % self.id
我正在像这样保存到数据库中:
movie = models.movie(movie_type)
character = models.Character(character_description, movie)
db.session.add(movie)
db.session.add(character)
db.session.commit()
最终目标是能够查找某个角色在哪部电影中。如果您也可以帮助我解决这个问题,那就太好了!
提前谢谢。
【问题讨论】:
标签: python flask sqlalchemy one-to-many flask-sqlalchemy