python - Python 中的数据访问层

标签 python

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

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

有没有好文章可以推荐我看一下?有人用Python做过这种数据操作吗?就像使用数据访问层中的一些通用模块进行读取、插入和更新一样。

最佳答案

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

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

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

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

I want to keep the queries in a different module and let everyone use that module rather than having their own version of query in every module.

这绝对符合良好的设计实践,但是,人们对于如何做到这一点(在 Python 中)会有不同的看法。

关于python - Python 中的数据访问层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55751329/

相关文章:

python - 编写一个脚本,生成多个目录,创建空文件,然后列出当前目录下的所有文件

python - 如何使用 xlwt 设置 "default"工作表?

Python:找到+100个质数

python - 错误 : 1210: Incorrect number of arguments executing prepared statement

python - 合并列表字典中具有相同值的键

python - flask ,flask_login,pytest : How do I set flask_login's current_user?

python - 优化 pandas/python 中的比较行操作

python - 无法确定以下模块的模块类型 ("PYTHON_MODULE")

python - 如何计算句子中的单词数,忽略数字、标点符号和空格?

python - Python 的 Google App Engine utf-8 编码问题