django - 是否可以访问多个数据库而无需在settings.py文件中声明?

时间:2017-11-16 12:46:41

标签: python mysql django sqlalchemy

每次创建公司时,我都想创建一个单独的数据库来存储相应的值。

models.py(公司App)

class Company(models.Model):
    name = models.CharField(max_length=30)
    user = models.ForeignKey(User)

views.py(公司App)

class AddCompany(LoginRequiredMixin, CreateView):
    mode = Company
    form_class = AddCompanyForm
    template_name = "add_company.html"

settings.py

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

models.py(库存应用)

class Inventory(models.Model):
    item = models.CharField(max_length=30)
    quantity = models.IntegerField(null=False)
    company = models.ForeignKey('company.Company')

views.py(库存应用)

class AddToInventory(LoginRequiredMixin, CreateView):
    model =Inventory
    form_class = AddToInventoryForm
    template_name = "add_inventory.html"

是否可以访问数据库而无需在settings.py文件中声明数据库且不使用任何路由。我希望属于每个公司的项目存储在一个单独的数据库中,如果公司的数据库不存在,那么必须创建一个新的数据库,我必须能够从数据库读取和写入数据而不使用任何路由。

是否可以通过使用一些SQLAlchemy来执行与django类似的操作?

django甚至可以实现这一点吗?

0 个答案:

没有答案