diff options
| author | Eugene Hatsko <e.hacko.nicecode@gmail.com> | 2020-01-21 10:12:25 +0300 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2020-01-22 08:25:23 +0100 |
| commit | a56e45a2bfc75116451c4e24fce82aa1827edb11 (patch) | |
| tree | 5add1aee6ca1041b7aac2d7aefc4568e7a12f14d /django | |
| parent | d7e4d6463c2fda11214e002ee6b3189f7b882f15 (diff) | |
[3.0.x] Fixed #31190 -- Fixed prefetch_related() crash for GenericForeignKey with custom ContentType foreign key.
Regression in dffa3e1992562ba60512d96d1eb5859ffff2ceb5.
Backport of 0b013564ef0609d95b1d263626f2e15bccda1a50 from master
Diffstat (limited to 'django')
| -rw-r--r-- | django/contrib/contenttypes/fields.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/django/contrib/contenttypes/fields.py b/django/contrib/contenttypes/fields.py index 4015f16c6b..163e3a9c50 100644 --- a/django/contrib/contenttypes/fields.py +++ b/django/contrib/contenttypes/fields.py @@ -583,11 +583,12 @@ def create_generic_related_manager(superclass, rel): # We (possibly) need to convert object IDs to the type of the # instances' PK in order to match up instances: object_id_converter = instances[0]._meta.pk.to_python + content_type_id_field_name = '%s_id' % self.content_type_field_name return ( queryset.filter(query), lambda relobj: ( object_id_converter(getattr(relobj, self.object_id_field_name)), - relobj.content_type_id + getattr(relobj, content_type_id_field_name), ), lambda obj: (obj.pk, self.get_content_type(obj).pk), False, |
