Multi-tenant SAAS in Django
我在php/laravel中开发了多租户SaaS应用程序,但最近我在django/python中开发了一个应用程序。不过,我仍然在学习Django,我真的很喜欢Django REST框架(DRF)。但是我很难找出下面突出的部分,如果有人显示一些光,我会很高兴去:
如何处理子域/域并选择正确的租户数据库
如何在Django中管理和动态处理不同的数据库
多租户应用程序后端是否仍可以从django管理界面进行管理?
我将使用队列和其他应用程序扇贝技术,需要提示和技巧(如果有的话)
有什么例子吗
通过Django开发SaaS时的任何挑战体验
- 请看一下您问题的可能副本:【python/django多租户解决方案】【1】【1】:stackoverflow.com/questions/19230734/…
- 是的,但我认识到django租户模式只与PostgreSQL相关。无论如何,您可以为MySQL处理并正确处理域
好。。。
Django子域
有人问了很多关于Django动态数据库的问题(包括,嗯…我)我不完全确定我理解你所说的"动态处理不同的数据库"是什么意思,所以我想只要转到我刚才提到的链接,为你的项目选择一个最好的链接。(还有——也许这更相关?)
查看Django多租户模式和这个答案。
有一段视频是关于disqus(世界上最大的django应用程序之一)背后的人解释了他们如何处理缩放。这是另一篇关于这个主题的有趣文章。另外,传说中的"所以"问题也适用于姜戈量表。
(和6.)看看这个答案
我希望这足够详细。我知道这可能只是一个令人失望的链接答案,但这是IT的现实——Django是一个更新的框架,使用Python进行Web开发仍然不如使用PHP。记住了这一点,你就要明白,尽管德扬戈有着令人敬畏的一面(它是令人敬畏的),但有着更复杂的需求,你自己也需要做更多的事情。
在这种情况下,您必须弄清楚如何分别完成方法的每一部分,然后将其结合起来。例如,您可以很容易地找到一种方法来创建一个rest-django应用程序,但是您需要弄清楚如何将其与另一个包(如上述子域)结合起来。
你可以在那里找到很多人和姜戈做怪事的例子。它非常强大(当我了解动态模型时,我被炸飞了)。但是你的应用程序越复杂,你就越需要自己去做。
拿起它,一步一个脚印,然后回来具体的问题,你有(或django用户谷歌集团)。祝你好运!
- 我已经考虑过所有的建议,这可能接近答案,但还不够。我已经意识到DjangoORM绑定到数据库的方式并不能给您提供足够的灵活性,使您能够以您想要的方式轻松地操作数据。你知道上面大部分都一起使用的任何例子/引导程序吗?我希望获得并遵循良好/推荐的做法。我想我可能还需要把数据库从mysql切换到postgresql
- 这正是我的观点-你有一个复杂的需求列表,你可以为每一个都找到很多例子,但是这是你可能要自己去发现的结合部分,因为Django对邻居来说还是个新手。至于切换,坦率地说,Django从一开始就是用PostgreSQL创建的,后来又添加了MySQL支持。但是我在MySQL和Django方面有很好的个人经验,所以现在你应该试着用你所知道的来实现它。
- 最后一件事是,ORM允许您所需要的几乎所有灵活性(如果所有其他查询都失败,还允许原始SQL查询)。这只是一个了解小细节的问题。不过,我不会说谎,有一些选择声称更好(如小便),但我不能推荐他们。我认为在寻找替代方案之前,您应该尝试使其与ORM一起工作。
- 好啊。感谢您提供详细信息。如果你发现了什么,请考虑更新这篇文章,以便将来对其他人有所帮助。我保证在做这个项目的时候也这样做。谢谢
- 当然!祝好运=
您可以尝试下面的链接,它实现了多租户,但没有多个DBS。
https://github.com/shestera/django-multise网站
- Django多站点的最新提交时间为2009-11-17,除了安装说明外,没有其他文档。