class Post(models.Model): text = models.TextField(u"Post") class Image(models.Model): image = models.ImageField(u"Image") class Video(models.Model): url = models.URLField(u"Video") class Item(models.Model): CONTENT_TYPE_CHOICES = ( (ContentType.objects.get_for_model(Post), 'Post'), (ContentType.objects.get_for_model(Image),'Image'), (ContentType.objects.get_for_model(Video),'Video') ) content_type = models.ForeignKey(ContentType,choices=CONTENT_TYPE_CHOICES) object_id = models.PositiveIntegerField() content_object = generic.GenericForeignKey("content_type", "object_id") article = models.ForeignKey(Article, related_name='items') class Article(models.Model): title = models.CharField(u"Title", max_length=255) link = models.URLField(u"Adres URL", max_length=400, blank=True, null=True)