HACK: Make get_serializer_for_model() work with dummy_plugin

This commit is contained in:
Peter Eckel 2024-05-30 15:15:24 +00:00
parent b5cb67bdbd
commit 9f3c750786
2 changed files with 7 additions and 1 deletions

View File

@ -8,6 +8,7 @@ class DummyModel(models.Model):
number = models.IntegerField(
default=100
)
serializer_label = 'netbox.tests.dummy_plugin'
class Meta:
ordering = ['name']

View File

@ -30,7 +30,12 @@ def get_serializer_for_model(model, prefix=''):
"""
Return the appropriate REST API serializer for the given model.
"""
app_label, model_name = model._meta.label.split('.')
if hasattr(model, 'serializer_label'):
app_label = model.serializer_label
model_name = model._meta.label.split('.')[1]
else:
app_label, model_name = model._meta.label.split('.')
serializer_name = f'{app_label}.api.serializers.{prefix}{model_name}Serializer'
try:
return import_string(serializer_name)