Джанго-фотолог ImageModel - PullRequest
       28

Джанго-фотолог ImageModel

0 голосов
/ 12 ноября 2011

Это мой первый проект в django, и я использую фотолог для галереи, это потрясающе, и мне очень нравится.

Но есть одна вещь, которую я не понимаю, как я могу использовать ее ImageModel?

У меня есть блог-приложение, и с каждым новым постом, созданным в интерфейсе администратора, я хотел бы загрузить изображение, связанное с этим сообщением.

from django.db import models
from tagging.fields import TagField
from tinymce import models as tinymce_models
from photologue.models import ImageModel
#import datetime

# Create your models here.
class Blog(models.Model):
    title = models.CharField(max_length=150)
    content = tinymce_models.HTMLField()
    pub_date = models.DateTimeField(auto_now_add=True)
    edit_date = models.DateTimeField(auto_now=True)
    tags = TagField()
    summary = models.CharField(max_length=30)
    thumbnail = ImageModel()


def __unicode__(self):
    return self.title

Этот код выше, похоже, не работает и ничего не делает на самом деле.

Я просматривал документы, Google ect и сам пытался понять источник фотолога, но я не могу заставить его работать так, как я хочу.

1 Ответ

1 голос
/ 12 ноября 2011

ImageModel является абстрактным классом. Вы не можете использовать это как само по себе. Вместо этого вы должны создать его подкласс:

class BlogImage(ImageModel):
    pass

class Blog(models.Model):
    ...
    thumbnail = models.ForeignKey(BlogImage, related_name='blogs')

Но основная цель ImageModel - позволить вам создать фотомодель с дополнительными пользовательскими данными, которые по-прежнему ведут себя как одна из моделей фотолога. У фотолога уже есть Photo, которая представляет собой реальную модель на основе ImageModel, которую вы можете использовать, если вам просто нужны значения по умолчанию.

class Blog(models.Model):
    ...
    thumbnail = models.ForeignKey(Photo, related_name='blogs')
...