У меня есть набор с несколькими базами данных : давайте назовем их 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...