flask模型model--多表操作

外键的设置

表之间的关系为一对多时,需要创建两张表,在多的一端表中设置外键。

表之间的关系为多对多时,需要创建三张表,两边的表中一般都不设置外键,构建一张中间表对这两个表设置外键。

如何知道 backref 定义的反向属性名,最终可以访问什么?

flask模型model--多表操作_第1张图片

# 在 A 模型中(比如 Grade)
students = db.relationship('Student', backref='grade')

# 那么在 B 模型(Student)中,就会自动创建:
student.grade  # 自动生成的属性,类型是 Grade

只要看 backref='xxx',就知道将来可以在“被关联的模型”中用 xxx 来访问“主模型对象”。 

总结一句话:
backref='xxx' 就是在“对方模型”中添加一个名为 xxx 的属性,指向本模型的对象。你可以通过这个反向属性名,从被关联的对象反查“它属于谁”。

你可能感兴趣的:(flask,python,后端,数据库,mysql)