docs: def get_choices(self):
          """
          Return a list of choices for default app and app/model template names:
  
              * ``{{ app }}/{{ model }}/layouts/{{ child_model }}.html``
              * ``{{ app }}/{{ model }}/layouts/default.html``
              * ``{{ app }}/layouts/default.html``
  
          """
          choices = []
          for related_object in self.field.model._meta.get_all_related_objects():
              # Django 1.8 deprecated `get_all_related_objects()`. We're still
              # using it for now with the documented work-around for
              # compatibility with Django <=1.7.
              meta = getattr(
                  related_object, 'related_model', related_object.model)._meta
              # App default.
              template_name = '%s/layouts/default.html' % meta.app_label
              label = '%s: Default' % meta.app_config.verbose_name
              choices.append((template_name, label))
              # Model default.
              template_name = '%s/%s/layouts/default.html' % (
                  meta.app_label,
                  meta.model_name,
              )
              label = '%s: %s' % (
                  meta.app_config.verbose_name,
                  meta.verbose_name.capitalize(),
              )
              choices.append((template_name, label))
              # Polymorphic child model defaults.
              for relation in meta.get_all_related_objects():
                  model = getattr(relation, 'related_model', relation.model)
                  if issubclass(model, meta.model):
                      template_name = '%s/%s/layouts/%s.html' % (
                          meta.app_label,
                          meta.model_name,
                          model._meta.model_name,
                      )
                      label = '%s: %s' % (
                          meta.app_config.verbose_name,
                          model._meta.verbose_name.capitalize(),
                      )
                      choices.append((template_name, label))
          return choices