【问题标题】:Print all properties of an App Engine Model打印 App Engine 模型的所有属性
【发布时间】:2011-10-08 23:01:17
【问题描述】:

我正在尝试找到一种方法来轻松地循环遍历 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 %}

【问题讨论】:

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


    【解决方案1】:

    看看this to_json method 如何获取模型实例上的所有属性值,它应该会为您指明正确的方向。

    【讨论】:

      【解决方案2】:

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

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

      如建议here

      【讨论】:

        【解决方案3】:

        试试:

        vars(user1)[property]
        

        请参阅Built-in Functions.html#vars,了解vars 如何返回实例变量字典的简短说明。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-10-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-08-04
          相关资源
          最近更新 更多