这是模型:
class Rep(db.Model):
author = db.UserProperty()
replist = db.ListProperty(str)
unique = db.ListProperty(str)
date = db.DateTimeProperty(auto_now_add=True)
我正在向数据存储区写replist
:
L = []
rep = Rep()
s = self.request.get('sentence')
L.append(s)
rep.replist = L
rep.put()
并检索
mylist = rep.all().fetch(1)
我假设mylist
是一个列表。如何打印其元素?当我尝试它时,我最终得到了这个对象;像[<__main__.Rep object at 0x04593C30>]
谢谢!
修改
@Wooble:我也使用模板。我不明白的是;我打印列表L
,如下所示:
% for i in range(len(L)):
<tr>
<td>${L[i]}</td>
</tr>
% endfor
这很有效。但mylist
同样的事情是行不通的。我尝试将mylist
的{{1}}类型与T = type(mylist)
无效。
答案 0 :(得分:1)
如果您使用fetch(1)
,您将获得1个元素的列表(如果没有要获取的实体,则为None)。
通常,要在实体列表中打印每个实体的所有元素,您可以执行以下操作:
props = Rep.properties().keys()
for myentity in mylist:
for prop in props:
print "%s: %s" % (prop, getattr(myentity, prop))
虽然大多数人只是使用模板以某种方式显示实体的数据。
答案 1 :(得分:0)
rep.all().fetch(1)
的结果是一个对象。你需要像这样迭代:
{% for i in mylist %}
<tr>
<td>{{i.author }}</td>
...
</tr>
{% endfor %}
如果要打印i.replist(列表),可以使用Django的模板函数连接打印,例如:
{% for i in mylist %}
<tr>
<td>{{i.replist|join:"</td><td>" }}</td>
</tr>
{% endfor %}