Python 从表中获取所有关系的列表

Python 从表中获取所有关系的列表,python,flask,foreign-keys,flask-sqlalchemy,Python,Flask,Foreign Keys,Flask Sqlalchemy,我正在尝试使用Flask SQLAlchemy获取一个表的所有关系列表,但没有看到任何选项,只是关于如何创建关系。 有人知道我怎么做吗?非常感谢您的帮助。 下面是3个模型的简单示例。如何从成员模型中获取两个关系的列表 from flask_sqlalchemy import SQLAlchemy from flask import Flask import os from flask_login import UserMixin app = Flask(__name__) file_path

我正在尝试使用Flask SQLAlchemy获取一个表的所有关系列表,但没有看到任何选项,只是关于如何创建关系。 有人知道我怎么做吗?非常感谢您的帮助。 下面是3个模型的简单示例。如何从成员模型中获取两个关系的列表

from flask_sqlalchemy import SQLAlchemy
from flask import Flask
import os
from flask_login import UserMixin

app = Flask(__name__)

file_path = os.path.abspath(os.getcwd()) + "\database.db"

app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///" + file_path
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
app.config["SECRET_KEY"] = "my secret!"

db = SQLAlchemy(app)


class Member(db.Model, UserMixin):
    
    id = db.Column(db.Integer, primary_key = True)
    name = db.Column(db.String(40), unique = True)
    
    
    hobbies = db.relationship("Hobbies", backref="member", lazy="dynamic")
    
    friends = db.relationship("Friends", backref="member", lazy="dynamic")
    
    def __init__(self, name):
        
        self.name = name
        
    def __repr__(self):
        
        return "<Member {}>".format(self.id)
    

    
class Hobbies(db.Model):
    
    id = db.Column(db.Integer, primary_key = True)
    hobby = db.Column(db.String(40))
    user_id = db.Column(db.Integer, db.ForeignKey("user.id"))
    

    def __init__(self, hobby, user_id):
        
        self.hobby = hobby
        self.user_id = user_id
        
    def __repr__(self):
        
        return "<Hobbies {}>".format(self.id)
    
    
    
class Friends(db.Model):
    
    id = db.Column(db.Integer, primary_key = True)
    friend = db.Column(db.String(40))
    
    user_id = db.Column(db.Integer, db.ForeignKey("user.id"))
    

    def __init__(self, friend, user_id):
        
        self.friend = friend
        self.user_id = user_id
        
    def __repr__(self):
        
        return "<Friends {}>".format(self.id)

    
从flask\u sqlalchemy导入sqlalchemy
从烧瓶进口烧瓶
导入操作系统
从flask_登录导入UserMixin
app=烧瓶(名称)
file_path=os.path.abspath(os.getcwd())+“\database.db”
app.config[“SQLALCHEMY\u DATABASE\u URI”]=“sqlite://”+文件路径
app.config[“SQLALCHEMY\u TRACK\u MODIFICATIONS”]=False
app.config[“SECRET\u KEY”]=“我的秘密!”
db=SQLAlchemy(应用程序)
类成员(db.Model,UserMixin):
id=db.Column(db.Integer,主键=True)
name=db.Column(db.String(40),unique=True)
嗜好=数据库关系(“嗜好”,backref=“成员”,lazy=“动态”)
friends=db.relationship(“friends”,backref=“member”,lazy=“dynamic”)
定义初始化(self,name):
self.name=名称
定义报告(自我):
返回“”格式(self.id)
班级爱好(db.Model):
id=db.Column(db.Integer,主键=True)
hobby=db.Column(db.String(40))
user\u id=db.Column(db.Integer,db.ForeignKey(“user.id”))
定义初始化(自我、爱好、用户id):
自我爱好
self.user\u id=用户\u id
定义报告(自我):
返回“”格式(self.id)
同学(db.Model):
id=db.Column(db.Integer,主键=True)
friend=db.Column(db.String(40))
user\u id=db.Column(db.Integer,db.ForeignKey(“user.id”))
定义初始化(自我、朋友、用户id):
朋友
self.user\u id=用户\u id
定义报告(自我):
返回“”格式(self.id)

您可以循环查看
db.metadata.tables
中的所有表,并通过上面的
inspect
方法访问它们之间的所有关系。
from sqlalchemy.inspection import inspect

relations = inspect(Member).relationships.items()