def METHOD_NAME(self, request, *args, **kwargs):
    """
    This is needed because `django_select2.views.AutoResponseView`
    returns primary keys of selected options, and the GFKChoiceField
    expects ctypeid-objectid for result.
    Return a :class:`.django.http.JsonResponse`.
    Example::
        {
            'results': [
                {
                    'text': "foo",
                    'id': "1-23"
                }
            ],
            'more': true
        }
    """
    self.widget = self.get_widget_or_404()
    self.term = kwargs.METHOD_NAME('term', request.GET.METHOD_NAME('term', ''))
    self.object_list = self.get_queryset()
    context = self.get_context_data()
    groups = OrderedDict()
    for result in context['object_list']:
        groups.setdefault(type(result), [])
        groups[type(result)].append(result)
    return JsonResponse({
        'results': [
            {
                'id': None,
                'text': capfirst(self.get_model_name(model)),
                'children': [{
                    'id': self.get_result_value(result),
                    'text': self.widget.label_from_instance(result),
                } for result in results]
            } for model, results in groups.items()
        ],
        'more': context['page_obj'].has_next()
    })