I am trying to resolve a bug in the API from a code i inherited. I am new to Django and tastypie so i don't know how to resolved this. I have imported my model but i do not know why i am getting DoesNotExist exception. In the save function default_drawing is set to true. I think this prevents the user from manual setting it to true
from erma_drawing import models as erma_drawing_models
    def hydrate(self, bundle):
        '''
        Hydrate things
        '''
        try:
            bundle.obj.profile = erma_drawing_models.DrawingProfile.objects.get(default_drawing=True)
        except DrawingProfile.DoesNotExist:
            logger.error("Drawing Profile does not exist")
        return super().hydrate(bundle)
Model.py
    class DrawingProfile(models.Model):
name = models.CharField(
    max_length=32, null=False, blank=False, unique=True)
privilege = models.ForeignKey(
    'erma_authorization.Privilege',
    on_delete=models.PROTECT,
    null=True,
    blank=True,
    help_text='The privilege required to' +
              ' create new drawings that use this profile')
default_drawing = models.BooleanField(
    default=False, null=False, blank=False)
def __init__(self, *args, **kwargs):
    super(DrawingProfile, self).__init__(*args, **kwargs)
def save(self, *args, **kwargs):
    if kwargs.pop('data_load', False):
        return super().save(*args, **kwargs)
    default_drawing = None
    existing_record = None
    if not self._state.adding:
        existing_record = DrawingProfile.objects.get(pk=self.pk)
    force = kwargs.pop('force', False)
  # Remove the ability to change the default without the force argument
  #this prevents users from changing the default, without setting a new record as default.
    if not force and existing_record.default_drawing:
        self.default_drawing = True
    if self.default_drawing and not existing_record.default_drawing:
        default_drawing = DrawingProfile.objects.get(
            default_drawing=True)
        # This should never happen, but we'll make sure anyways...
        if default_drawing.pk != self.pk:
            default_drawing.default_drawing = False
        super(DrawingProfile, self).save(*args, **kwargs)
        default_drawing.save(force=True)
    else:
        super(DrawingProfile, self).save(*args, **kwargs)
def delete(self, *args, **kwargs):
    # Never delete the default drawing object.
    if self.default_drawing:
        raise Exception('Cannot delete the default drawing')
    default_drawing = DrawingProfile.objects.get(default_drawing=True)
    # Update any existing drawings that use this profile to use the
    # default drawing profile instead
    drawings = self.drawing_set.all()
    if len(drawings):
        for record in drawings:
            record.profile = default_drawing
            record.save(fast=True)
        DrawingProfile.objects.get(pk=self.pk).delete()
    else:
        return super(DrawingProfile, self).delete(*args, **kwargs)
class Meta:
    db_table = 'drawing_profile'
    ordering = ['id']
 
    