从SQLAlchemy查询检索不同的backref实例

2024-04-26 11:47:39 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑到以下模型:

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实例


Tags: keyidtruedbmodelfoobarcolumn
1条回答
网友
1楼 · 发布于 2024-04-26 11:47:39

获取查询返回的结果集。返回的object在默认情况下是可散列的,因此set函数可以区分两个Foo object,并确保q中得到的内容实际上是不同的。你知道吗

相关问题 更多 >