code: def get_child_type_choices(self, request, action):
          choices = super(ChildModelPluginPolymorphicParentModelAdmin, self) \
              .get_child_type_choices(request, action)
          plugins = self.child_model_plugin_class.get_plugins()
          labels = {}
          sort_priorities = {}
          if plugins:
              for plugin in plugins:
                  pk = plugin.content_type.pk
                  labels[pk] = capfirst(plugin.verbose_name)
                  sort_priorities[pk] = getattr(plugin, 'sort_priority', labels[pk])
              choices = [(ctype, labels[ctype]) for ctype, _ in choices]
              return sorted(choices,
                  cmp=lambda a, b: cmp(
                      sort_priorities[a[0]],
                      sort_priorities[b[0]]
                  )
              )
          return choices