加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – Django后端设计建议

发布时间:2020-12-20 13:48:43 所属栏目:Python 来源:网络整理
导读:我有一个我在工作中使用的工具,用 python编写,我希望移植到Django框架中,以便更加无缝地编写基于Web的管理界面.我已经阅读了django教程并对如何使用您自己的数据库(或数据库)编写基本的django应用程序有了非常深刻的理解. 我在这个特定项目中遇到的困境是我
我有一个我在工作中使用的工具,用 python编写,我希望移植到Django框架中,以便更加无缝地编写基于Web的管理界面.我已经阅读了django教程并对如何使用您自己的数据库(或数据库)编写基本的django应用程序有了非常深刻的理解.

我在这个特定项目中遇到的困境是我引用了多个数据源:

>可能或可能不是SQL数据库,有些没有任何实现作为django后端(例如LDAP和Google Admin SDK).
>第三方数据源的整体“模型”可能会在没有通知的情况下发生变化,我无法控制这一点……虽然我将访问的“模型”部分可能永远不会改变.

所以我的问题是:我是否应该将这些外部数据源视为django’模型’?或者我最好只编写一些单独的接口类来处理这些数据源?

我可以看到写入新的“数据库引擎”以处理与这些数据源的通信的可能性,因此从实际的应用程序实现中我可以调用所有常用方法,例如我查询任何数据库.理想情况下,我正在编写的应用程序的核心需要不关心它连接到的每个数据源的实现细节 – 我想让它尽可能地插件,因此未来新数据源类型的实现不会涉及太多对核心代码的任何修改.

我想知道这是否是“接受”的方式 – 或者,如果对于这样的自定义情况,你可以使用django后端并只是实现自己的自定义解决方案来查询这些数据中的信息源.

我希望这个问题足够清楚……如果没有,请问我所需要的具体内容.谢谢!

解决方法

1)也许你应该考虑 Flask web-framework,它不像Django那样依赖于特定的ORM.因此,您没有义务在Django ORM模型中使用您的数据.

2)你可以使用Django和一些自定义数据查询和操作工具,完全可以.但是你应该知道,Djangos生态系统的主要部分与Django ORM有关,如果你放弃它,它将无法工作.

3)在Django模型中注意managed=False选项.它允许您拥有一个不受syncdb或migrate等命令管理的模型.它基本上意味着,底层表不在你的控制之下,Django不应该改变那个表并“按原样”采用它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读