'Check if the page already has an extension object. If so, redirect to edit view instead.'

@csrf_protect_m
def add_view(self, request, form_url='', extra_context=None):

    extended_object_id = request.GET.get('extended_object', False)
    if extended_object_id:
        try:
            title = Title.objects.get(pk=extended_object_id)
            extension = self.model.objects.get(extended_object=title)
            opts = self.model._meta
            change_url = reverse(('admin:%s_%s_change' % (opts.app_label, opts.model_name)), args=(extension.pk,), current_app=self.admin_site.name)
            return HttpResponseRedirect(change_url)
        except self.model.DoesNotExist:
            pass
    return super(ExtensionAdmin, self).add_view(request, form_url, extra_context)
