在GAE中存储对象列表

2024-05-29 00:06:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要存储一些看起来有点像这样的数据:

xyz 123
abc 456
hij 678
rer 838

现在我只需将它存储为传统的字符串和整数模型,并放入数据存储中。但是这些数据是有规律的变化的,而且只有当作为一个集合来看时才有意义。所以它需要存储为一个列表列表,或者一个对象列表,据我所知,这两个都不需要酸洗。有人能帮忙吗?即使将其存储为文本文件也可以工作:S

编辑:我对细节似乎有点含糊。在

我正在从一个外部源(如果重要的话,通过beauthoulsoup/http2lib进行抓取)。然后需要将这些数据作为一个整体进行存储,因为它将被绘制在一个图形上。数据会改变(但不经常——也许一周一次)。由于数据集非常简单(如上面所示,1个字符串字段和1个整数),我认为将它们存储为列表列表,然后实际将它们存储在模型中会更容易。我有一种感觉,我跳过了一个更简单的解决方案,因为我过于关注数据需要作为一个大的块存储在一起。在

我将同时存储500多个这样的数据位作为一个组。在


Tags: 数据对象字符串模型编辑列表整数传统
2条回答

如果它真的只是一个元组/两个“列”的列表,你能使用交替列表和ListProperty吗?如果数据具有一致的维度,很小,并且不需要索引,那么这就很好了。在

例如,要对列表中给出的示例进行编码,请执行以下操作:

# i forget if mixed types are allowed, but you get the idea.
["xyz", 123, "abc", 456, "hij", 678, "rer", 838]

您可以将它们存储为两个单独的列表,并且只需在实际访问它们时才需要考虑对它们进行梳理。像这样:

class MyModel(db.Model):
    my_strings = db.StringListProperty()
    my_ints = db.ListProperty(int)

    def get_data(self):
        return zip(self.my_strings, self.my_ints)

    def set_data(self, data):
        self.my_strings = [element[0] for element in data]
        self.my_ints = [element[1] for element in data]

    data = property(get_data, set_data)

这样,你就可以像

^{pr2}$

相关问题 更多 >

    热门问题