diff options
| author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-06-04 20:49:07 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-06-04 20:49:07 +0200 |
| commit | f9936deed1ff13b20e18bd9ca2b0750b52706b6c (patch) | |
| tree | b77d26889c2f7092261625f7e7fbefeb9b5bd7a2 /django/core/serializers/python.py | |
| parent | 1136aa5005f0ae70fea12796b7e37d6f027b9263 (diff) | |
Fixed #34620 -- Fixed serialization crash on m2m fields without natural keys when base querysets use select_related().
Regression in 19e0587ee596debf77540d6a08ccb6507e60b6a7.
Thanks Martin Svoboda for the report.
Diffstat (limited to 'django/core/serializers/python.py')
| -rw-r--r-- | django/core/serializers/python.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/django/core/serializers/python.py b/django/core/serializers/python.py index 36048601af..0dc504aa34 100644 --- a/django/core/serializers/python.py +++ b/django/core/serializers/python.py @@ -79,7 +79,9 @@ class Serializer(base.Serializer): return self._value_from_field(value, value._meta.pk) def queryset_iterator(obj, field): - return getattr(obj, field.name).only("pk").iterator() + return ( + getattr(obj, field.name).select_related().only("pk").iterator() + ) m2m_iter = getattr(obj, "_prefetched_objects_cache", {}).get( field.name, |
