Here's new version of function ModelChoiceField.to_python in django/forms/models.py : = def to_python(self, value): = if value in self.empty_values: = return None + if type(value) is self.queryset.model: + return value = try: = key = self.to_field_name or 'pk' = value = ...