【发布时间】:2012-08-27 13:11:07
【问题描述】:
我正在尝试为我的应用建模,但遇到了这个问题:
我有一张幻灯片,可以是图片、文字或视频。 此外,图像和视频可以出现在同一用户的许多不同幻灯片和演示文稿中。
我还想存储幻灯片所属的演示文稿和插入日期(幻灯片必须有顺序)。
class Slide(models.Model):
user = models.ForeignKey(User)
presentation = models.ForeignKey(Presentation)
insert_date = models.DateTimeField(auto_now_add=True)
-
class Image(models.Model):
def get_image_path(instance, filename):
return os.path.join('users/images', str(instance.id), filename)
user = models.ForeignKey(User)
slide = models.ManyToManyField(Slide)
image = models.ImageField(upload_to=get_image_path)
insert_date = models.DateTimeField(, auto_now_add=True)
-
class SlideText(models.Model):
slide = models.OneToOneField(Slide)
text = models.TextField()
[视频模型将类似于图像]
此模型的问题是幻灯片可以为空,并且幻灯片可以包含图像和文本(以及视频),但它不应该。
我可以想象这将是一个常见问题:某些项目有一些与“项目类型”相关的信息(即图像幻灯片、文本幻灯片......),那么常见的解决方案是什么?
非常感谢任何帮助!谢谢!
【问题讨论】:
标签: django django-models model