Skip to content

Commit dea100a

Browse files
stsewdericholscher
authored andcommitted
Fix queryset for generic models
1 parent c409a7a commit dea100a

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

readthedocs/integrations/models.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -114,16 +114,20 @@ def from_requests_exchange(self, response, related_object):
114114
return obj
115115

116116
def delete_limit(self, related_object, limit=10):
117+
# If the related_object is an instance of Integration,
118+
# it could be a proxy model, so we force it to always be the "real" model.
117119
if isinstance(related_object, Integration):
118-
queryset = self.filter(integrations=related_object)
120+
model = Integration
119121
else:
120-
queryset = self.filter(
121-
content_type=ContentType.objects.get(
122-
app_label=related_object._meta.app_label, # pylint: disable=protected-access
123-
model=related_object._meta.model_name, # pylint: disable=protected-access
124-
),
125-
object_id=related_object.pk,
126-
)
122+
model = related_object
123+
124+
queryset = self.filter(
125+
content_type=ContentType.objects.get(
126+
app_label=model._meta.app_label, # pylint: disable=protected-access
127+
model=model._meta.model_name, # pylint: disable=protected-access
128+
),
129+
object_id=related_object.pk,
130+
)
127131
for exchange in queryset[limit:]:
128132
exchange.delete()
129133

0 commit comments

Comments
 (0)