Python中的数据访问层

时间:2019-04-18 17:49:18

标签: python

我对Python非常陌生,仍然每天学习并尝试探索新事物。我来自C#背景,过去我们曾经有一个不同的数据访问层,其中的类名为表,并且稍后编写了查询,这些查询可以在业务层中进行访问。

我想在Python中实现相同的功能。从我的模块中,我不想两次编写相同的查询。我想将查询保留在不同的模块中,并让每个人都使用该模块,而不是在每个模块中都有自己的查询版本。

有没有人可以建议我看的好文章?有没有人用Python完成过这种数据处理?就像在数据访问层中使用某些通用模块进行读取,插入和更新一样。

1 个答案:

答案 0 :(得分:2)

跳过关于构造数据访问对象并在其他模块中利用这些对象的简单问题...

我建议您熟悉ORMs (Object Relational Mappers)SQLAlchemypeewee是Python流行的ORM的一些示例。

另一个有用的链接可能是reddit thread, which discusses going from writing Java code to writing Python,它在思想上有细微变化(但幅度不大:尽管,肯定有一种“ Java”做事方式和“ Python”做事方式) )。

回到DAO概念,这绝对是您可以在Python中完成的事情。特别是,因为您要提示的内容将有助于代码重用:

  

我想将查询保留在不同的模块中,并让每个人都使用该模块,而不是在每个模块中都有自己的查询版本。

这肯定与良好的设计规范一致,但是,人们(在Python中)应该如何完成将有不同的看法。