0

我正在尝试为我的应用程序建模,但遇到了这个问题:

我有一个幻灯片,可以是图像、文本或视频。此外,图像和视频可以在同一用户的许多不同幻灯片和演示文稿中。

我还想存储幻灯片所属的演示文稿和插入日期(幻灯片必须有顺序)。

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()

[视频模型将类似于图像]

这个模型的问题是幻灯片可以是空的,并且幻灯片可以包含图像和文本(以及视频),它不应该。

我可以想象这将是一个常见问题:某些项目有一些与“项目类型”相关的信息(即图像幻灯片、文本幻灯片......),那么常见的解决方案是什么?

任何帮助真的很感激!谢谢!

4

1 回答 1

0

通用关系是你想要的。

于 2012-09-02T15:09:24.667 回答