Распечатать все свойства модели App Engine - PullRequest
4 голосов
/ 20 июля 2011

Я пытаюсь найти способ легко пройтись по модели 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 ]

2 голосов
/ 20 июля 2011

Посмотрите, как этот to_json метод захватывает все значения свойств в экземпляре модели, он должен указывать вам правильное направление.

1 голос
/ 20 июля 2011

После еще одного исследования я понял, что правильный способ сделать это - использовать gettattr.Я использовал фильтр в соответствии с:

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

Как и предполагалось здесь

1 голос
/ 20 июля 2011

Попробуйте:

vars(user1)[property]

См. http://docs.python.org/library/functions.html#vars для краткого объяснения того, как vars возвращает словарь переменных экземпляра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...