我试图遍历Expando模型的动态属性以便输出它们全部。难道还有比创建自己的方法,像这样这样做其他的方式:在Django模板中迭代Expando的动态属性
class Event(db.Expando):
platform = db.ReferenceProperty(Platform)
date = db.DateTimeProperty()
def getValues(self):
return self._dynamic_properties
然后在模板 - 这是通过一个“平台”对象:
{% for event in platform.event_set %}
<b>{{ event.date }}</b><br />
{% for pair in event.getValues.items %}
{{ pair.0 }} = {{ pair.1 }}<br />
{% endfor %}
{% endfor %}
这工作,但我惊讶我不能这样做:
{% for event in platform.event_set %}
<b>{{ event.date }}</b><br />
{% for pair in event.items %}
{{ pair.0 }} = {{ pair.1 }}<br />
{% endfor %}
{% endfor %}
没有我自己的方法调用...应该使用'.items'以外的东西吗?
{event for event._dynamic_properties.items%}中的对不起作用吗? – 2010-08-02 18:09:13
否;有人提出这个建议,但答案已被撤回。无法访问以下划线开头的属性。欢呼的建议。 – Wex 2010-08-03 10:26:19