summaryrefslogtreecommitdiff
path: root/django/contrib/contenttypes/generic.py
diff options
context:
space:
mode:
Diffstat (limited to 'django/contrib/contenttypes/generic.py')
-rw-r--r--django/contrib/contenttypes/generic.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/django/contrib/contenttypes/generic.py b/django/contrib/contenttypes/generic.py
index a92f0f0dc8..7d130bec24 100644
--- a/django/contrib/contenttypes/generic.py
+++ b/django/contrib/contenttypes/generic.py
@@ -12,7 +12,7 @@ from django.db import models, router, transaction, DEFAULT_DB_ALIAS
from django.db.models import signals
from django.db.models.fields.related import ForeignObject, ForeignObjectRel
from django.db.models.related import PathInfo
-from django.db.models.sql.where import Constraint
+from django.db.models.sql.datastructures import Col
from django.forms import ModelForm, ALL_FIELDS
from django.forms.models import (BaseModelFormSet, modelformset_factory,
modelform_defines_fields)
@@ -236,7 +236,8 @@ class GenericRelation(ForeignObject):
field = self.rel.to._meta.get_field_by_name(self.content_type_field_name)[0]
contenttype_pk = self.get_content_type().pk
cond = where_class()
- cond.add((Constraint(remote_alias, field.column, field), 'exact', contenttype_pk), 'AND')
+ lookup = field.get_lookup('exact')(Col(remote_alias, field, field), contenttype_pk)
+ cond.add(lookup, 'AND')
return cond
def bulk_related_objects(self, objs, using=DEFAULT_DB_ALIAS):