python - 检索两个模型之间的关系对象
问题描述
假设 SQLAlchemy 中定义了两个模型:
用户:
class User(db.Model):
first_name = db.Column(db.String(80))
last_name = db.Column(db.String(80))
产品:
class Product(db.Model):
first_name = db.Column(db.String(80))
user_id = db.Column(db.Integer(), db.ForeignKey('users.id'))
user = db.relationship("User", foreign_keys=[user_id], backref='products')
created_by = db.Column(db.Integer, db.ForeignKey('users.id'))
created_by_user = db.relationship("User", foreign_keys=[created_by])
它有任何其他方式来检索模式中的所有关系:Product -> User
比这:
fk_mapper = Product.__mapper__
fk_relationships = list(fk_mapper.relationships)
product_user_rels = [item for item in fk_relationships if item.mapper.class_ is User]
这感觉有点笨拙。
解决方案
推荐阅读
- elasticsearch - 如何使用弹性搜索在过滤器中实现精确匹配?
- r - 无法正确执行带有两条线的曲线图
- java - 如何让消息在 onEnable 中等待?
- c++ - CLion 无法使用 Visual Studio 编译简单的测试程序
- python - 使用 Python 从 SQLite 捕获错误代码
- java - 具有特殊字符的 Spring Boot 肥皂解组 xml
- azure-devops - 如何以自动方式将多个工作项移动到一个工作项下?
- css - 如何根据其他元素的某些标准选择元素?
- kerberos - 如何在 Kerberized 集群上访问 Livy(或为 Livy 禁用 Kerberos)?
- c# - 基于 URI 字符串匹配重定向 ApiController