我是 flask-sqlalchemy 和 mySQL 的新手。
我有两个名为 groups 和 switchboard 的表。我还有另一个名为 map_switchboard_group 的关联表,它由外键(组和总机的主键)组成。
我正在编写一条路由,该路由将提取组中所有配电盘。
现在,我的问题是我通过“ group_uuid”列过滤器查询“ map_switchboard_group”表。我能够获取记录,但是只有只有“ id”(主键)列可以访问,而其余的所有外键列都无法访问,甚至在邮递员中也可以看到。
因此,如果我无法访问switchboard_uuid(外键),那么我将无法获取与此相关的交换机。
我的小组班级:
class Group(db.Model):
__tablename__ = 'groups'
group_uuid = db.Column(db.String(100), primary_key=True)
group_name = db.Column(db.String(50))
switchboard_count = db.Column(db.Integer, default=0)
MapSwitchboardGroup = db.relationship('MapSwitchboardGroup',
backref='groups')
我的总机类:
class Switchboard(db.Model):
__tablename__ = 'switchboard'
switchboard_uuid = db.Column(db.String(100), primary_key=True)
switchboard_name = db.Column(db.String(50))
master_mac_id = db.Column(db.String(100), unique=True)
MapSwitchboardGroup = db.relationship('MapSwitchboardGroup',
backref='switchboard')
我的MapSwitchboardGroup(Association)类:
class MapSwitchboardGroup(db.Model):
__tablename__ = 'map_switchboard_group'
id = db.Column(db.Integer, primary_key=True)
group_uuid = db.Column(db.String(100),
db.ForeignKey('groups.group_uuid'))
switchboard_uuid = db.Column(db.String(100),
db.ForeignKey('switchboard.switchboard_uuid'))
我要从map_switchboard_group表中获取switchboard_uuid的查询:
switchboard_uuid_list = MapSwitchboardGroup.query.filter_by(group_uuid=group_uuid).all()
预期输出应为:
[
{
"id": 1,
"group_uuid": "a2703a41-831f-4c6c-b995-1346bacd2ca3",
"switchboard_uuid": "aa4fd8e7-9012-4c43-9f8e-baef3e968c57"
}
]
我得到的实际输出是:
[
{
"id": 1
}
]