Django - 在表单中需要外键字段的 get_FOO_display
我有一个表单模板,我把表单的信息和对象本身都传给它。当选择字段是对象的一部分时,我可以毫无问题地使用 {{ 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]。
如果这些方法都不行,或者你还是不确定,可以把你的对象实例模型和外键模型发出来。