SQLAlchemy:关系推断?

时间:2016-12-16 10:43:28

标签: python database sqlite sqlalchemy

在急需的“10 common stumbling blocks for SQLAlchemy newbies”中,第9条规定:(强调我的)

  

9。想要提交会话以获取对象的ID,以便可以使用它来插入相关对象

     

大多数非常重要的SQLAlchemy应用程序都需要使用   关系。想象一下这样的情况:你需要创建一个   公司并为其添加一名员工。你已经有了一段感情   在公司课程中称为员工。那么你将如何完成   这个任务?典型的答案如下:

     
      
  1. 创建公司实例
  2.   
  3. 将公司实例添加到会话
  4.   
  5. 刷新会话
  6.   
  7. 使用先前已刷新的公司实例
  8. 中的company_id创建Employee实例   
  9. 将Employee实例添加到会话
  10.   
  11. 提交会话
  12.         

    这就是在没有SQLAlchemy的情况下如何做到这一点。但随着   SQLAlchemy这可以更轻松地完成:

         
        
    1. 创建公司实例
    2.   
    3. 创建员工实例
    4.   
    5. 将公司实例添加到会话
    6.   
    7. 提交会话
    8.         

      刷新会话时,公司行首先插入到   数据库。 然后,凭借关系级联,员工   实例被发现并插入到数据库中。 RDBMS   不能分辨,但对于开发者来说,后者的方法   更好。

SQLAlchemy如何推断这种关系?如果我不希望它关联两个类的声明有关系的实例,该怎么办?如果我在循环中进行插入/更新,我什么时候应该提交?

0 个答案:

没有答案