模板中的 Django 外键

Posted

技术标签:

【中文标题】模板中的 Django 外键【英文标题】:Django foreign keys in a template 【发布时间】:2011-11-04 23:11:25 【问题描述】:

我将 django-nonrel 与 Google App Engine 一起使用,并且我在 django 中有一个模型对象,用于存储外键列表。我将此对象发送到 django 模板,并且我希望模板能够访问我的原始对象引用的对象。但是,在 django 模板中,外键仅表示为 unicode 数字,因此我似乎无法直接从 django 模板访问这些项目。

有没有办法可以将我的原始对象发送到 django 模板并轻松访问外键字段中表示的对象?我知道在普通 django 中使用 manytomany 字段可能是最佳实践,但是 django-norel 不支持这一点。

感谢您提供的任何建议!

【问题讨论】:

对不起,我的意思是带有数字的 unicode 字符串。 (例如 u'3') 一个'十进制字符串',然后。它们是键名还是 ID? 您可以尝试使用 select_related 查询并使用 object__foreignKey 之类的东西访问外键 【参考方案1】:

您可能应该在将原始对象发送到模板之前将其解析 - 通过遍历键列表,获取相关对象并将它们添加到新列表中)然后您可以将该新列表传递给单独的属性对象。

如果您的列表中有很多项目,这可能会很慢。

【讨论】:

以上是关于模板中的 Django 外键的主要内容,如果未能解决你的问题,请参考以下文章

模板中的Django外键关系

django模板中的两个外键和一个值

如何从 Django 模板中的外键访问值

通过django模板中的外键关系快速访问模型属性

在 Django 模板中使用外键作为变量

Python:如何在我的 Django 模板中传递外键的值?