当我在模板中做类似的事情时,django 做了什么
{{ object.parameter }}
我问这个是因为在数组字段(postgresql 数组字段)的情况下,它会打印出来
{'value', 'value', 'value'}
(因为这就是 postgresql 在 arrayfields 中存储数组的方式)
或者
['value','value','value']
如果我使用字段 post_init 方法将 postgresql 数组转换为 python 列表。
期望的输出当然是价值、价值、价值。我宁愿不为此使用某种过滤器,因为那样我将不得不在模板中使用 IF 或对我打印出的每个值使用某种模板标签过滤器,这感觉不是一件聪明的事情。
顺便说一句,我知道我可以在模板中做类似的事情:
{% for choice in field.choices %}
{{ choice }}
{% if forloop.last %}
{% else %},
{% endif%}
{% endfor %}
这正是我想要的,但我认为还有其他方法可以做到这一点 - 使用一些 modelfield 方法或其他东西。
艾伦