Google App Engine中的ListProperty与StringListProperty
我想存储一些整数的列表(用户ID),我应该把它们变成字符串,使用StringListProperty,还是直接用ListProperty呢?我在想哪种方式更优化,是专门的StringListProperty好,还是只用整数的混合ListProperty好。
我需要不断往这个列表里添加用户,直到达到一定的数量,然后我会为这些用户创建一个组实例(在一个单独的实体组里)。
1 个回答
10
StringListProperty其实就是一个很简单的包装,主要是用来处理列表类型的属性。除了元素的类型不同,其他没有什么实质性的区别。
来自代码本身:
class StringListProperty(ListProperty):
def __init__(self, verbose_name=None, default=None, **kwds):
super(StringListProperty, self).__init__(basestring,
verbose_name=verbose_name,
default=default,
**kwds)
我建议把整数存储在普通的ListProperty里,这样在数据库查询时,你可以正确地进行查询和排序,也就是按数字的大小来排序。如果把它们转换成字符串,就不容易做到这一点了。