【问题标题】:Django Model multiple relation with same modelDjango模型具有相同模型的多重关系
【发布时间】: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


    【解决方案1】:

    Generic relations 是你想要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-05
      • 2011-11-15
      • 2017-07-10
      • 2019-08-17
      • 1970-01-01
      • 2014-05-20
      • 2011-01-16
      • 1970-01-01
      相关资源
      最近更新 更多