我正在做一个 Django 项目,并试图为我的数据创建一些链接模型,这些模型在我看来是有效的,但我似乎无法弄清楚如何访问链接数据。
class One(models.Model)
name = models.CharField(max_length=50)
list = models.ArrayField(models.CharField(max_length=50), blank=True)
def __str__(self):
return self.name
class Many(models.Model)
name = models.CharField(max_length=50)
related = models.ForeignKey(One, null=True, blank=True)
def __str__(self):
return self.name
这是我建立的一般关系。
我想做的是,在模板中可以访问所有“一”的列表,并通过其中的每一个,可以访问每个“多”及其相关属性。我可以看到如何访问单个“一个”的属性,但看不到如何传递所有这些属性及其相关的“许多”模型以及每个模型的相关属性。本质上,我想要的输出会有一个带有 One 的下拉列表,当提交时,一些 Javascript 将使用“Many”模型中的列表来做一些事情。
任何建议将不胜感激。
原文由 Nowandthen98 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您已经拥有
One
模型类的对象,您可以使用 --- 访问many
对象many_set
(参考: 关系):这里要注意的一件重要事情是,这将为每个
m_obj
执行一个数据库查询。为了提高效率,您可以在您的视图中使用one_objs
预取many_set
。在您看来,使用
prefetch_related
: