Использование database_alias, отличного от значения по умолчанию, при сохранении / заполнении ModelForm - PullRequest
1 голос
/ 12 января 2012

У меня в настоящее время есть некоторые проблемы, заставляющие ModelForms вести себя согласованно, используя несколько баз данных.

У меня есть проект, который использует несколько баз данных. Каждая модель находится в одной или другой БД, поэтому мне не нужно загружать из одной и сохранять в другой.

sale = Sale.objects.using(db_alias).get(pk=sale_id)
form = SaleForm(request.POST, instance=sale)

if form.is_valid():
    form.save();

выше работает отлично.

sale = Sale.objects.using(db_alias).get(pk=sale_id)
ssh = History.objects.using(db_alias).get(pk=sale.history_id)

form = SaleForm(request.POST, instance=sale)
sshForm = HistoryForm(request.POST, instance=ssh)

if form.is_valid():
    form.save();
    sshnew = sshForm.save(commit=False)

выше не работает нормально ... form.save () счастлив. sshForm.save () жалуется на невозможность подключиться к базе данных (так как по умолчанию используется значение «default», которое является просто заполнителем)

Я не могу понять, почему формы и sshForm работают по-разному, если они заполнены одинаково.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...