15156 review changes

This commit is contained in:
Arthur Hanson 2024-06-20 09:40:42 -07:00
parent 0447572d5b
commit 7362fd8a97
2 changed files with 10 additions and 2 deletions

View File

@ -15,8 +15,8 @@ __all__ = (
class BaseModelSerializer(serializers.ModelSerializer): class BaseModelSerializer(serializers.ModelSerializer):
url = NetBoxAPIHyperlinkedIdentityField(view_name="") url = NetBoxAPIHyperlinkedIdentityField()
display_url = NetBoxURLHyperlinkedIdentityField(view_name="") display_url = NetBoxURLHyperlinkedIdentityField()
display = serializers.SerializerMethodField(read_only=True) display = serializers.SerializerMethodField(read_only=True)
def __init__(self, *args, nested=False, fields=None, **kwargs): def __init__(self, *args, nested=False, fields=None, **kwargs):

View File

@ -13,6 +13,9 @@ class BaseNetBoxHyperlinkedIdentityField(serializers.HyperlinkedIdentityField):
and it will get replaced in the get_url call. Derived classes must and it will get replaced in the get_url call. Derived classes must
define a get_view_name. define a get_view_name.
""" """
def __init__(self, *args, **kwargs):
super().__init__(view_name="", *args, **kwargs)
def get_url(self, obj, view_name, request, format): def get_url(self, obj, view_name, request, format):
""" """
Given an object, return the URL that hyperlinks to the object. Given an object, return the URL that hyperlinks to the object.
@ -32,6 +35,11 @@ class BaseNetBoxHyperlinkedIdentityField(serializers.HyperlinkedIdentityField):
view_name = self.get_view_name(app_name, model_name) view_name = self.get_view_name(app_name, model_name)
return self.reverse(view_name, kwargs=kwargs, request=request, format=format) return self.reverse(view_name, kwargs=kwargs, request=request, format=format)
def get_view_name(self, app_name, model_name):
raise NotImplementedError(_('{class_name} must implement get_view_name()').format(
class_name=self.__class__.__name__
))
class NetBoxAPIHyperlinkedIdentityField(BaseNetBoxHyperlinkedIdentityField): class NetBoxAPIHyperlinkedIdentityField(BaseNetBoxHyperlinkedIdentityField):