def get_model(self, options):
        class ModelMetadataBase(MetadataBaseModel):
            _content_type = models.ForeignKey(ContentType)
            if options.use_sites:
                _site = models.ForeignKey(Site, null=True, blank=True, verbose_name=_("site"))
            if options.use_i18n:
                _language = models.CharField(_("language"), max_length=5, null=True, blank=True, db_index=True, choices=settings.LANGUAGES)
            objects = self.get_manager(options)()

            def __unicode__(self):
                return unicode(self._content_type)

            def _process_context(self, context):
                """ Use the given model instance as context for rendering 
                    any substitutions. 
                """
                if 'model_instance' in context:
                    self.__instance = context['model_instance']

            def _populate_from_kwargs(self):
                return {'content_type': self._content_type}
        
            def _resolve_value(self, name):
                value = super(ModelMetadataBase, self)._resolve_value(name)
                try:
                    return _resolve(value, self.__instance._content_object)
                except __HOLE__:
                    return value
        
            class Meta:
                abstract = True
                unique_together = self.get_unique_together(options)
        return ModelMetadataBase
dataset/ETHPy150Open willhardy/django-seo/rollyourown/seo/backends.py/ModelBackend.get_model