Django ModelForm сохранить в другой базе данных - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть набор с несколькими базами данных : давайте назовем их db1, db2 и db3. db1 по умолчанию.

Теперь у меня есть ModelForm, предназначенная для сохранения объекта Customer в db2.

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. Как я могу сохранить экземпляр Customer в db2, используя ModelForm? Конечно, я всегда могу использовать простой Form вместо этого, но я хотел посмотреть, есть ли правильный способ сделать это через ModelForm?

РЕДАКТИРОВАТЬ: эта проблема также появляется при проверке, если форма действительна .

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