code: def _get_thumbnail_options(self, context, instance):
          
          width, height = None, None
          subject_location = False
          placeholder_width = context.get('width', None)
          placeholder_height = context.get('height', None)
          if instance.use_autoscale and placeholder_width:
              # use the placeholder width as a hint for sizing
              width = int(placeholder_width)
          if instance.use_autoscale and placeholder_height:
              height = int(placeholder_height)
          elif instance.width:
              width = instance.width
          if instance.height:
              height = instance.height
          if instance.image:
              if instance.image.subject_location:
                  subject_location = instance.image.subject_location
              if not height and width:
                  # height was not externally defined: use ratio to scale it by the width
                  height = int(float(width) * float(instance.image.height) / float(instance.image.width))
              if not width and height:
                  # width was not externally defined: use ratio to scale it by the height
                  width = int(float(height) * float(instance.image.width) / float(instance.image.height))
              if not width:
                  # width is still not defined. fallback the actual image width
                  width = instance.image.width
              if not height:
                  # height is still not defined. fallback the actual image height
                  height = instance.image.height
          return {'size': (width, height),
                  'subject_location': subject_location}
docs: Return the size and options of the thumbnail that should be inserted