【问题标题】:Sqlalchemy One-to-Many InsertSqlalchemy 一对多插入
【发布时间】:2019-05-07 07:22:16
【问题描述】:

我有一个字典和一个(字典)变量列表,我将一些数据解析为这些变量,这两个变量彼此之间具有一对多的关系。我想知道是否有任何方法可以将这些字典放入表类并将它们存储到数据库中。我希望 sqlalchemy 能够处理外键详细信息。字典也有很多键,所以它应该从字典中填充对象字段。

【问题讨论】:

    标签: python sqlalchemy


    【解决方案1】:

    creating a Many To One relationship in SQLAlchemy涉及两个步骤:

    1. Create the constraint on the Dependent object。这将确保Dependents 仅引用有效的Masters。为此,您需要在 Master 对象上添加一个 Primary Key。
    2. Create a reference,因此您可以从 Dependent 以面向对象的方式访问 Master。

    注意:不要混淆。 SQLAlchemy 文档使用了一个示例,其中关系是父母 (n) -> 孩子 (1)。为避免混淆,我使用了 Dependent (n) -> Master (1) 的措辞。

    【讨论】:

    • 谢谢托马斯,我想通了。我创建了两个表对象和相应的两个空类。使用映射器,将类映射到表。但是,我仍然需要弄清楚这本字典才能通过类。有没有办法从字典传递到键是字段的类?
    • def init__(self, **entries): self.__dict.update(entries) 完成了这项工作。
    • 与dependent->master的有趣想法,我的想法一直是“父母对孩子==从左到右”。但我应该考虑对其进行现代化改造。
    • @zzzeek 我把这个想法借给了 salesforce.com;我认为表示外键比 parent / child 更好,因为 Parent ~ Children 更像是多对多的关系!
    猜你喜欢
    • 1970-01-01
    • 2017-05-04
    • 2014-10-29
    • 2013-08-18
    • 2020-05-19
    • 2018-07-28
    • 1970-01-01
    • 1970-01-01
    • 2012-10-23
    相关资源
    最近更新 更多