我想在创建一个类对象时将零到三个图像关联起来,我不知道最好的方法。
示例:当用户创建图片竞赛时,他们使用零到三个图像定义他们的图片样式。这些是静态图像,因此永远不会更新。
我能想到的唯一方法是创建一个名为stylePictures
的单独类,并在Contest
中有三个字段,说“styleOne”“styleTwo”和“styleThree”,它们可以为null。这似乎不是最有效的方法。
有什么想法吗?
答案 0 :(得分:2)
我会创建两个单独的类。通过这种方式,您的功能可以轻松演变为将来会使用更多图片的内容。
class PictureContest(models.Model):
# fields
class PictureStyle(models.Model):
image = models.FileField(upload_to="upload/picture_style")
picture_contest = models.ForeignKey("PictureContest")
获取与一场比赛相关的所有图片样式。
首先,你必须隔离你想要的图片竞赛。
pc = PictureContest.objects.filter(id=2) # find your picture contest
然后过滤以pc.id
作为字段值的图片样式。
pic_styles = PictureStyle.objects.filter(picture_contest__id=pc.id)