【发布时间】:2015-02-06 04:58:08
【问题描述】:
我在同一个应用中有 2 个模型相互交叉引用。一个作为外键,另一个作为多对多键。
class VideoEmbed(models.Model):
person = models.ForeignKey('Person')
title = models.CharField(max_length=250)
video = EmbedVideoField()
class Person(models.Model):
name = models.CharField(max_length=200)
born = models.DateField(blank=True, null=True)
video = models.ManyToManyField(VideoEmbed, related_name='video_embed', null=True, blank=True)
我想这样做的原因是将 Person 与其相关视频链接起来,因为一个人可以拥有多个视频。现在在 django 管理站点中,videoembed 模型将针对每个人录制视频,因此这些视频将分别显示在 Person 的每个实例中。但是在 django 站点中,我必须从多个选择框中选择这些视频中的每一个许多关系领域。
我希望此字段仅显示通过 videoembed 模型链接到此实例的视频,而不是所有添加的视频。有没有办法做到这一点?如果不是,那么我应该能够在本节中看到 2 个字段而不是一个,以便我可以选择链接到 Person 实例的视频。
【问题讨论】:
-
我很困惑。为什么需要视频中的参考资料回传人?多对多链接已经提供了反向链接?
-
@LegoStormtroopr 嗨,每个人都有特定的视频,每个人可以链接很多视频。现在考虑总共 50-100 个视频,很难确定哪个视频属于某个特定的人。
标签: django django-models django-admin