打印App Engine模型的所有属性

时间:2011-07-19 22:41:33

标签: python google-app-engine properties django-templates

我正在尝试找到一种方法来轻松遍历Google App Engine(Python)模型并打印出每个属性和属性名称。

这就是我正在尝试的方式,经过一些研究后,我意识到我不能相互接下来的变量。有没有办法用过滤器或返回模型属性的所有值的方法?

由于

templateargs = {'properties':MyModel.properties(), 'user1':MyModelObj, 'user2':MyModelObj}


{% for property in properties %}
    Property: {{property}}
    User1:  {{user1.{{property}}}}
    User2:  {{user2.{{property}}}}
{% endfor %}

3 个答案:

答案 0 :(得分:2)

看看this to_json method如何抓取Model实例上的所有属性值,它应该指向正确的方向。

答案 1 :(得分:1)

尝试:

vars(user1)[property]

有关vars如何返回实例变量字典的简短说明,请参阅http://docs.python.org/library/functions.html#vars

答案 2 :(得分:1)

经过一些研究后,我意识到正确的方法是使用gettattr。我使用过滤器:

@register.filter 
def mygetattr(obj, name): 
    return getattr(obj, name) 

根据建议here