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

3 投票
1 回答
1174 浏览
提问于 2025-04-16 23:37

我有一个表单模板,我把表单的信息和对象本身都传给它。当选择字段是对象的一部分时,我可以毫无问题地使用 {{ object.get_FOO_display }} 来显示它,但我想找一个简单的方法来处理表单中外部字段的显示。

我正在把这个做成一个基于类的视图,所以如果有建议的话,最好能写成不依赖于特定字段的代码。

谢谢!

1 个回答

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]。

如果这些方法都不行,或者你还是不确定,可以把你的对象实例模型和外键模型发出来。

撰写回答