django - 外键的django值
问题描述
循环遍历记录列表,Django 显示每条记录的文字值。但是,如果该字段是外键怎么办?所以,这里有一个例子
{% for record in records %}
{{ record.get_fields|dict_key:field }}
{% endfor %}
dict_key 是一个模板过滤器,它模仿给定字段的字典获取函数。
@register.filter(name = 'dict_key')
def dict_key(a_dict, key):
the_key = normalize(key) # lowercases the key
return the_dict.get(the_key, None)
因此,如果一个字段是模型中的外键,Django 将显示外键 ID。比如说,该字段是房间,Django 将在第一条记录中显示“1”(房间的外键 ID),在第二条记录中显示“2”,等等。但是,我想知道如何通用和编程渲染外键的值,例如 'Kitchen' 用于 ID 1 的外键,'living room' 用于 ID 2 的外键等。
任何帮助表示赞赏
编辑1:
想法是创建一个通用模板,该模板根据表格中的字段类型(例如,使用自定义货币过滤器的货币字段)呈现记录。为此,我必须遍历字段
{% for record in records %}
<tr>
{% for field in relevant_fields%}
<td>
{% if field in currency_fields %}
{{ record.get_fields|dict_key:field|currency }}
{% else %}
{% record.get_fields|dict_key:field}}
{% endif %}
</td>
{% endfor %}
{% endfor %}
因此,我正在使用模型的 get_fields 辅助方法查找字段名称,并根据字段的类型,格式化我的输出。这样,我就可以重用相同的表格模板。
解决方案
推荐阅读
- python - Black Karasinski 模型的校准
- c# - Dropbox API UploadAsync 永远不会返回
- ios - 为什么pdf注解Y位置在ios、pdfkit、swift中从页面底部开始
- mainframe - Can we connect TN3270 emulator by Mochasoft using VBA?
- javascript - 如何从 react-semantic-ui 中的多重搜索选择下拉框中获取值?
- mysql - 如何在nodejs中执行sequelize bulk insert
- sql - Oracle 外连接
- excel - Excel 公式 - 如何将单元格中的公式值分成 2 个不同的单元格?
- java - 属性文件中的多重赋值
- angularjs - 将数据从弹簧引导控制器(重定向)传递到角度页面而不传递查询参数?