Django - 表单中的外部字段需要 get_FOO_display

Posted

技术标签:

【中文标题】Django - 表单中的外部字段需要 get_FOO_display【英文标题】:Django - need a get_FOO_display for a foreign field in a form 【发布时间】:2011-10-27 08:33:24 【问题描述】:

我有一个表单模板,我将表单信息以及对象本身传递给该模板。我可以在选择字段是对象本身的一部分时使用 object.get_FOO_display no问题

我将其构建到基于类的视图中,因此理想情况下,任何建议都可以独立于对特定字段的引用进行编码。

谢谢!

【问题讨论】:

当您在模板中包含 object.FOO (其中'FOO' 是外部字段)时,它会为您提供FOO 的__unicode__() 返回值。这还不够吗? 看看这个解决方案: ***.com/a/7571539/497056 【参考方案1】:

如果我没记错的话,并且您正在尝试获取具有选择属性的 django 模型实例的显示值,您可以简单地:

object.foreign_key_field.get_FOO_display

但是,如果您正在向后工作(即尝试获取具有指向您的对象实例模型的外键和 fk_related_name 的相关名称属性的模型实例的显示值),那么:

object.fk_related_name.get_query_set()[i].get_FOO_display

get_query_set 返回一个查询集,因此您可以使用 % forloop % 遍历查询集或提供所需对象的索引 [i],如上所述。

如果这些都不起作用并且您仍然不确定,请发布对象实例模型和foreign_key 模型。

【讨论】:

object.foreign_key_field.get_FOO_display 不适用于 Django 1.8.1

以上是关于Django - 表单中的外部字段需要 get_FOO_display的主要内容,如果未能解决你的问题,请参考以下文章

Django admin 根据另一个字段值过滤一个外部字段

有条件地只需要 Django 模型表单中的一个字段

Django 表单中的只读字段

模型表单中的 Django 必填字段

带有两个提交按钮的 Django 表单。 . .一个需要字段,一个不需要

在表单中的特定字段上引发 Django 中的错误