相关疑难解决方法(0)

Django中的多租户SAAS

我在PHP/Laravel中开发了多租户SAAS应用程序,但最近我遇到了在Django/Python中开发一个应用程序的挑战.我仍在学习Django,我真的很喜欢Django休息框架(DRF).但我很难弄清楚下面突出显示的区域,如果有人表现出一些亮点,我会很高兴:

  1. 如何处理子域/域并选择正确的租户数据库
  2. 如何在django中管理和动态处理不同的数据库
  3. 可以从Django管理界面管理多租户应用程序后端
  4. 我将使用队列和其他应用程序scalling技术,需要提示和技巧,如果有的话
  5. 有任何例子
  6. 通过Django开发SAAS时的任何挑战经验

python django database-design web-applications saas

23
推荐指数
1
解决办法
8665
查看次数

Django:动态数据库文件

在我的Django项目中,我依赖于第三方应用程序,该应用程序使用已知模式在各种目录中生成SQLite缓存文件.

我想使用Django模型访问这些数据库,但显然我不能使用静态DATABASES设置.

如何在任意路径上动态打开SQLite数据库?

编辑

正如Byron Ruth指出的那样,解决方案是将它django.db.connectionsusingQuerySet中的函数结合使用.

django django-models django-database

15
推荐指数
1
解决办法
4398
查看次数

在 Django 中使用多个数据库

我必须在我的项目中使用多个数据库,但有一个问题。模型看不到我的数据库。

当我去 localhost:port/admin/app/accounts 它说我没有这样的表:帐户。模型寻找默认数据库。不是accounts.db 我该怎么做?

我在互联网上看到的内容中尝试了多种方法,但没有任何反应。

settings.py :
.....
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    },

    'accounts': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'accounts.db')
    }
}
.....


models.py:
.....
class Accounts(models.Model):     

    email = models.TextField(blank=True, null=True)                                                                                                                    
    phone = models.TextField(blank=True, null=True)                                                                                                                    
    name = models.TextField(blank=True, null=True)                                                                                                                     
    password = models.TextField(blank=True, null=True)                                                                                                                 
    verify = models.IntegerField(blank=True, null=True)                                                                                                                

    class Meta:                                                                                                                                                        
        managed = False

        db_table = 'accounts'
....


Environment:


Request Method: GET
Request URL: http://localhost:port/admin/hede/accounts/

Django Version: 1.11.23
Python Version: 2.7.15
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth', …
Run Code Online (Sandbox Code Playgroud)

python django python-3.x django-2.0

8
推荐指数
3
解决办法
2万
查看次数