0

这是我在 django 中的第一个项目,我使用 photologue 作为画廊,这太棒了,我真的很喜欢。

但有一件事我不明白,我该如何使用它的 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

上面的代码实际上似乎不起作用或做任何事情。

我一直在翻阅文档、谷歌等,并试图自己了解 photologue 的来源,但我似乎无法让它像我想要的那样工作。

4

1 回答 1

1

ImageModel是一个抽象类。你不能把它当作自己使用。相反,您必须将其子类化:

class BlogImage(ImageModel):
    pass

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

但是, 的主要目的ImageModel是允许您创建具有附加自定义数据的照片模型,其行为仍然类似于 photologue 的模型之一。photologue 已经有了Photo一个真实的模型ImageModel,如果你只需要默认值,你可以使用它。

class Blog(models.Model):
    ...
    thumbnail = models.ForeignKey(Photo, related_name='blogs')
于 2011-11-11T22:31:19.240 回答