从 SQLAlchemy 查询中检索不同的 backref 实例
Posted
技术标签:
【中文标题】从 SQLAlchemy 查询中检索不同的 backref 实例【英文标题】:Retrieve distinct backref instances from SQLAlchemy query 【发布时间】:2013-05-21 23:40:15 【问题描述】:鉴于以下模型:
class Foo(db.model):
id = db.Column(db.Integer, primary_key=True)
bar_id = db.Column(
"bar_id",
db.Integer(),
db.ForeignKey("bar.id"))
baz_id = db.Column(
"baz_id",
db.Integer(),
db.ForeignKey("baz.id"))
bars = db.Relationship(
"Bar",
backref=backref("bar_foo", lazy="dynamic"))
bazs = db.relationship(
"Baz",
backref=backref("baz_foo", lazy="dynamic"))
class Bar(db.model):
id = db.Column(db.Integer, primary_key=True)
# some more columns
class Baz(db.model):
id = db.Column(db.Integer, primary_key=True)
# some more columns
q = Bar.query.get(123).bar_foo
# .all() gives me several Foo instances
我想为 q 结果检索不同的 Baz 实例
【问题讨论】:
【参考方案1】:取一组查询返回的结果。默认情况下,返回的object
s 是hashable,因此set
函数可以区分两个Foo object
s,并确保您在q
中得到的内容实际上是不同的。
【讨论】:
以上是关于从 SQLAlchemy 查询中检索不同的 backref 实例的主要内容,如果未能解决你的问题,请参考以下文章
SQLAlchemy Asyncio ORM 在从元数据中检索表和列时无法查询数据库
Graphene/Flask/SQLAlchemy - 从路由入口点检索数据的推荐方法是啥?
从 RDS 检索数据给出 AttributeError: 'sqlalchemy.cimmutabledict.immutabledict' 对象没有属性 'setdefault'