Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGES/7835.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fixed `RelatedField` rendering wrong domain in hrefs when `DOMAIN_ENABLED=True`.
10 changes: 10 additions & 0 deletions pulpcore/app/serializers/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,16 @@ def _patched_reverse(viewname, args=None, kwargs=None, **extra):
class HrefFieldMixin:
"""A mixin to configure related fields to generate relative hrefs."""

def use_pk_only_optimization(self):
"""Disable DRF's PK-only optimization when domains are enabled.

DRF's optimization passes a PKOnlyObject (no pulp_domain) to get_url,
causing _reverse to fall back to the default domain.
"""
if settings.DOMAIN_ENABLED:
return False
return super().use_pk_only_optimization()

def get_url(self, obj, view_name, request, *args, **kwargs):
# Removes the request from the arguments to display relative hrefs.
self.reverse = _reverse(self.reverse, request, obj)
Expand Down
Loading