在Django中创建照片列表

时间:2014-05-23 15:48:03

标签: django django-models

在我目前正在处理的网页上,我必须显示不同人的个人资料。每个人都有一个显示在右侧的个人资料图像。此外,我将内容保存为服务器上的markdown。

现在我想添加添加文本下显示的可选图像列表的可能性,并显示有关此人的内容。我对这个人的模型看起来像这样:

class stipendiat(models.Model):
    first_name  = models.CharField(max_length=100)
    last_name   = models.CharField(max_length=100)
    content     = models.TextField()
    year        = models.IntegerField(blank=False, null=False)
    form        = models.IntegerField(blank=False, null=False)
    image       = models.ImageField(upload_to='stipendiaten/', blank=True, null=True, default='default.jpg')
    gallery     = # This is the question

    def __unicode__(self):
        return self.first_name + " " + self.last_name

因为我想保存一些关于图像的数据,所以模型看起来应该是这样的:

class Image(models.Model):
    caption     = models.CharField(max_length=512)
    year        = models.IntegerField()
    image       = models.ImageField(upload_to=upload_path_handler, blank=False, null=False)

为方便起见,应该可以在为人物编辑表格时添加图像。确切地说,我想添加一个人并填写必要的信息(first_name,last_name,content等)。最后应该是连接图像列表和快速添加图像的按钮。

是否有必要使用外部应用程序或是否有关系字段的优雅解决方案?

1 个答案:

答案 0 :(得分:1)

也许你应该为画廊图像和外键字段使用不同的模型将两个模型链接在一起

class Image(models.Model):
    #...
    stipendiat = models.ForeignKey(Reporter)

现在,您可以使用ID为此的

来重新显示图库图像
Image.objects.filter(stipentiat__pk=1)