summaryrefslogtreecommitdiff
path: root/django/forms
diff options
context:
space:
mode:
Diffstat (limited to 'django/forms')
-rw-r--r--django/forms/models.py16
1 files changed, 1 insertions, 15 deletions
diff --git a/django/forms/models.py b/django/forms/models.py
index 7ba98e1e26..0738421d9e 100644
--- a/django/forms/models.py
+++ b/django/forms/models.py
@@ -88,21 +88,7 @@ def model_to_dict(instance, fields=None, exclude=None):
continue
if exclude and f.name in exclude:
continue
- if f.many_to_many:
- # If the object doesn't have a primary key yet, just use an empty
- # list for its m2m fields. Calling f.value_from_object will raise
- # an exception.
- if instance.pk is None:
- data[f.name] = []
- else:
- # MultipleChoiceWidget needs a list of pks, not object instances.
- qs = f.value_from_object(instance)
- if qs._result_cache is not None:
- data[f.name] = [item.pk for item in qs]
- else:
- data[f.name] = list(qs.values_list('pk', flat=True))
- else:
- data[f.name] = f.value_from_object(instance)
+ data[f.name] = f.value_from_object(instance)
return data