diff options
Diffstat (limited to 'django/forms')
| -rw-r--r-- | django/forms/models.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/django/forms/models.py b/django/forms/models.py index ca98658748..1c5f446c2b 100644 --- a/django/forms/models.py +++ b/django/forms/models.py @@ -3,6 +3,7 @@ Helper functions for creating Form classes from Django models and database field objects. """ +from django.db import connections from django.utils.encoding import smart_unicode, force_unicode from django.utils.datastructures import SortedDict from django.utils.text import get_text_list, capfirst @@ -470,7 +471,8 @@ class BaseModelFormSet(BaseFormSet): pk_key = "%s-%s" % (self.add_prefix(i), self.model._meta.pk.name) pk = self.data[pk_key] pk_field = self.model._meta.pk - pk = pk_field.get_db_prep_lookup('exact', pk) + pk = pk_field.get_db_prep_lookup('exact', pk, + connection=connections[self.get_queryset().db]) if isinstance(pk, list): pk = pk[0] kwargs['instance'] = self._existing_object(pk) @@ -679,6 +681,7 @@ class BaseModelFormSet(BaseFormSet): qs = pk.rel.to._default_manager.get_query_set() else: qs = self.model._default_manager.get_query_set() + qs = qs.using(form.instance._state.db) form.fields[self._pk_field.name] = ModelChoiceField(qs, initial=pk_value, required=False, widget=HiddenInput) super(BaseModelFormSet, self).add_fields(form, index) |
