gpt4 book ai didi

sqlalchemy - 如何更好地理解 sqlalchemy 中的 `remote_side`?

转载 作者:行者123 更新时间:2023-12-04 12:01:24 24 4
gpt4 key购买 nike

我一直在研究 sqlalchemy 的自引用表。我已经多次阅读文档,但仍然难以理解 remote_side 的概念。 .有人可以画一张图或用一个类比来帮助解释这个概念吗?我认为可视化是一种更好的方法,但任何帮助都会受到赞赏。谢谢。

编辑:顺便说一下,我认为这个词 remote有点模糊,因为它可以从不同的角度解释。喜欢这个词leftrigt ,这真的取决于你面对的方向,我的right可能是您的 left .我对此不太有信心,但我猜想将名称链接到 remote_sidemany_side可能有帮助吗?如果我在这里错了,请纠正我。

最佳答案

由于似乎没有人对这种初学者的概念感兴趣,我将尽力攻击这一点。

首先想象两个相同的表,一个在左边,另一个在右边。现在深呼吸。

通过指定 remote_side对于外键引用的属性,您实际上建立了从本地到远程的关系。

现在的问题是,我可以指定remote_sed吗?到外键属性本身?让我们通过做一个实验来看看区别:

class Employee(Base):
__tablename__ = 'employees'
id = Column(Integer(), primary_key=True)
manager_id = Column(Integer(), ForeignKey('employees.id'))
name = Column(String(255), nullable=False)
Manager = relationship("Employee", backref=backref('reports'), remote_side=[manager_id])

运行这个,我们得到这个错误:
sqlalchemy.exc.ArgumentError: Employee.Manager and back-reference Employee.reports are both of the same direction symbol('ONETOMANY').  Did you mean to set remote_side on the many-to-one side ?

显然,这行不通。我们被困在一种单向的暴政中。

关于sqlalchemy - 如何更好地理解 sqlalchemy 中的 `remote_side`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45221443/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com