如何将字典放入数据存储?

8 投票
7 回答
4559 浏览
提问于 2025-04-15 15:54

有没有好的方法可以把Python字典存储到数据存储中?我想做类似下面这样的事情:

from google.appengine.ext import db

class Recipe(db.Model):
  name = db.StringProperty()
  style = db.StringProperty()
  yeast = db.StringProperty()
  hops = db.ListofDictionariesProperty()

当然,最后那一行实际上是行不通的。我需要把hops设置成一个键值对的列表,其中键总是字符串,而值可以是字符串、整数或浮点数,但我在属性类中找不到任何可以让我做到这一点的东西。

7 个回答

2

你可以把字典用一种叫做pickle的方式处理,然后把它存储为一个字符串属性。

7

你可以使用json。

7

repr 来把字典转换成字符串是一种不错的方法。你可以用 eval 来把它再变回字典,或者如果你不太信任这些数据,可以使用一个叫做“安全评估”的方法。

repr 的好处是,转换后的数据在数据库里是可读的,甚至在需要的时候可以查询。

撰写回答