Index: django/contrib/contenttypes/models.py
===================================================================
--- django/contrib/contenttypes/models.py	(revision 2126)
+++ django/contrib/contenttypes/models.py	(working copy)
@@ -1,35 +1,24 @@
 from django.db import models
 from django.utils.translation import gettext_lazy as _
 
-class Package(models.Model):
-    label = models.CharField(_('label'), maxlength=20, primary_key=True)
-    name = models.CharField(_('name'), maxlength=30, unique=True)
-    class Meta:
-        verbose_name = _('package')
-        verbose_name_plural = _('packages')
-        db_table = 'django_package'
-        ordering = ('name',)
-
-    def __repr__(self):
-        return self.name
-
 class ContentType(models.Model):
     name = models.CharField(_('name'), maxlength=100)
-    package = models.ForeignKey(Package, db_column='package')
-    python_module_name = models.CharField(_('python module name'), maxlength=50)
+    model = models.CharField(_('python model class name'), maxlength=100, unique=True)
     class Meta:
         verbose_name = _('content type')
         verbose_name_plural = _('content types')
         db_table = 'django_content_type'
-        ordering = ('package', 'name')
-        unique_together = (('package', 'python_module_name'),)
+        ordering = ('name',)
 
     def __repr__(self):
-        return "%s | %s" % (self.package_id, self.name)
+        return self.name
 
     def get_model_module(self):
-        "Returns the Python model module for accessing this type of content."
-        return __import__('django.models.%s.%s' % (self.package_id, self.python_module_name), '', '', [''])
+        "Returns the Python model class for accessing this type of content."
+        lastdot = self.model.rfind('.')
+        package = lastdot > 0 and self.model[:lastdot] or ''
+        module = __import__(package, '', '', [''])
+        return getattr(module, self.model[lastdot+1:])
 
     def get_object_for_this_type(self, **kwargs):
         """
@@ -38,4 +27,4 @@
         method. The ObjectNotExist exception, if thrown, will not be caught,
         so code that calls this method should catch it.
         """
-        return self.get_model_module().get_object(**kwargs)
+        return self.get_model_module().objects.get_object(**kwargs)
