首页 > 解决方案 > Django ModelForm 保存到另一个数据库

问题描述

我有一个包含多个数据库的设置:让我们称之为它们db1db2并且db3. db1是默认的。

我现在有一个用于将对象保存Customerdb2.

class CustomerCreateForm(ModelForm):
    class Meta:
        model = Customer
        fields = ["name", "type"]

我的观点:

if "create" in request.POST:
    f = CustomerCreateForm(data=request.POST)
    customer = f.save(commit=False)  # Error -> no table 'customer' on database 'db1'
    customer.date_joined = datetime.now()
    customer.save(using='db2')

save()方法似乎没有using参数。如何保存实例Customerdb2使用ModelForm? 当然,我总是可以使用简单的Form,但我想看看是否有正确的方法来做到这一点ModelForm

编辑:检查表单是否有效时也会出现此问题。

f = CustomerCreateForm(data=request.POST)
if f.is_valid(): # Error: No model Customer on database db1
    # some more code...

标签: pythondjangodjango-forms

解决方案


推荐阅读