from __future__ import unicode_literals import logging from django.apps import apps from django.db import models logger = logging.getLogger(__name__) class DocumentTypeSettingsManager(models.Manager): def get_by_natural_key(self, document_type_natural_key): DocumentType = apps.get_model( app_label='documents', model_name='DocumentType' ) try: document_type = DocumentType.objects.get_by_natural_key( document_type_natural_key ) except DocumentType.DoesNotExist: raise self.model.DoesNotExist return self.get(document_type__pk=document_type.pk)