docs: def visit_classdef(self, node):
          """Class visitor."""
          if not node_is_subclass(node, 'django.db.models.base.Model', '.Model'):
              # we only care about models
              return
  
          for child in node.get_children():
              if _is_meta_with_abstract(child):
                  return
  
              if isinstance(child, Assign):
                  grandchildren = list(child.get_children())
  
                  if not isinstance(grandchildren[0], AssignName):
                      continue
  
                  name = grandchildren[0].name
                  if name != '__unicode__':
                      continue
  
                  grandchild = grandchildren[1]
                  assigned = grandchild.inferred()[0]
  
                  if assigned.callable():
                      return
  
                  self.add_message('E%s01' % BASE_ID, args=node.name, node=node)
                  return
  
              if isinstance(child, FunctionDef) and child.name == '__unicode__':
                  if PY3:
                      self.add_message('W%s02' % BASE_ID, args=node.name, node=node)
                  return
  
          # if we get here, then we have no __unicode__ method directly on the class itself
  
          # a different warning is emitted if a parent declares __unicode__
          for method in node.methods():
              if method.parent != node and _is_unicode_or_str_in_python_2_compatibility(method):
                  # this happens if a parent declares the unicode method but
                  # this node does not
                  self.add_message('W%s03' % BASE_ID, args=node.name, node=node)
                  return
  
          # if the Django compatibility decorator is used then we don't emit a warning
          # see https://github.com/PyCQA/pylint-django/issues/10
          if _has_python_2_unicode_compatible_decorator(node):
              return
  
          if PY3:
              return
  
          self.add_message('W%s01' % BASE_ID, args=node.name, node=node)