Correct test using __func__ in python 3
Correct test using __func__ in python 3

On py3, the class level function doesn't have a `__func__`
property, it can be checked directly.

So the logic in pseudo code is:

    if is_py3:
        default_method == SomeClass.method
    else:
        default_method == SomeClass.method.__func__

   if not (super_method.__func__ is default_method):
      ...

I prefered to use `getattr` to avoid checking python version:

    getattr(SomeClass.method, '__func__', SomeClass.method)

=> if the class level function has a `__func__` attribute, use it,
   else use it directly

imposeren/django-parler,skirsdeda/django-parler,ellmetha/django-parler,skirsdeda/django-parler,django-parler/django-parler,ellmetha/django-parler,imposeren/django-parler,defivelo/django-parler,jrief/django-parler,zhangguiyu/django-parler,jrief/django-parler,zhangguiyu/django-parler,django-parler/django-parler,edoburu/django-parler,defivelo/django-parler,edoburu/django-parler