Flask sql-alchemy 多对多关系一次附加多个对象?

3 python many-to-many flask flask-sqlalchemy

首先我定义了三个表

registerations = db.Table()

class Student(db.Model):

class Class(db.Model):
Run Code Online (Sandbox Code Playgroud)

我可以用

student.classes.append(class1)
student.classes.append(class2)
student.classes.append(class3)
student.classes.append(class4)
Run Code Online (Sandbox Code Playgroud)

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

但我的问题是如何一次将所有课程添加给学生

student.classes.somemethod(class1, class2, class3, class4)
Run Code Online (Sandbox Code Playgroud)

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

dir*_*irn 6

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

student.classes.append(class1)
Run Code Online (Sandbox Code Playgroud)

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

student.classes.extend([class1, class2, class3, class4])
Run Code Online (Sandbox Code Playgroud)

SQLAlchemy文档讨论了在集合上自动实现哪些类似列表的方法。