Flask sql-alchemy多对多关系一次追加多个obj?

时间:2016-03-18 09:07:52

标签: python flask many-to-many flask-sqlalchemy

首先我定义了三个表

registerations = db.Table()

class Student(db.Model):

class Class(db.Model):

我可以用

student.classes.append(class1)
student.classes.append(class2)
student.classes.append(class3)
student.classes.append(class4)

在联结表中添加信息,效果很好

但我的问题是如何立即将所有课程添加到学生

student.classes.somemethod(class1, class2, class3, class4)

并且有一种方法可以做到这一点>>或者我必须自己编写一个函数..

1 个答案:

答案 0 :(得分:4)

SQLAlchemy处理与类似列表的接口的多对多关系。您可以使用append方法添加单个项目:

student.classes.append(class1)

您可以使用extend方法添加可迭代的所有项目:

student.classes.extend([class1, class2, class3, class4])

SQLAlchemy docs谈论在集合上自动实现哪些类似列表的方法。