- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
如何使用 Google App Engine 分配 ListProperty?
name = self.request.get("name")
description = self.request.get("description")
list = '''insert code here'''
我希望列表像字典一样工作,这在 Google App Engine 中是否可行,如果可行,如何:
[wordone:得分; wordtwo : 分数;第三个词:得分]
^我想要列表属性存储这样的一些数据,这怎么可能?
最佳答案
您实际上无法将真正的字典存储为 ListProperty
中的类型(它仅支持数据存储属性类型,其中 dict
不是一种),所以你将无法获得你正在寻找的行为。所有数据是否都相同(即每个元素代表一个单词分数)?假设将每个词作为其自己的属性存储在模型上没有意义,一个“肮脏”的解决方案是制作一个 str
类型的 ListProperty
,然后附加单词和分数作为单独的元素。然后,当您在列表中搜索一个词时,您将返回该词的索引位置处的值 + 1。这看起来像:
class MyEntity(db.Model):
name = db.StringProperty()
description = db.TextProperty()
word_list = db.ListProperty()
然后你可以添加这样的词:
new_entity = MyEntity()
new_entity.word_list = ['word1', 1, 'word2', 2, 'word3', 10]
然后您可以查询特定实体,然后检查其 word_list
属性(一个列表),查找您的目标词并返回其后一个位置的元素。
更复杂的建议
但是,如果这不是一个选项,您可以考虑创建另一个模型(比如说 WordScore
),它看起来像:
class WordScore(db.Model):
word = db.StringProperty()
score = db.IntegerProperty()
然后,每当您需要添加新分数时,您将创建一个 WordScore
实例,填写属性,然后将其分配给适当的实体。我还没有测试过这些,但我的想法是这样的:
# Pull the 'other' entity (this would be your main class as defined above)
q = OtherEntity.all()
q.filter('name =', 'Someone')
my_entity = q.get()
# Create new score
ws = WordScore(parent=my_entity)
ws.word = 'dog'
ws.score = 2
ws.put()
然后你可以通过做这样的事情来为'Someone'提取dog
的分数(同样,现在完全未经测试 - 请注意:)):
# Get key of 'Someone'
q = OtherEntity.all()
q.filter('name =', 'Someone')
my_entity = q.get().key()
# Now get the score
ws = WordScore.all()
ws.filter('word = ', 'dog').ancestor(my_entity)
word_score = ws.get().score
关于python - ListProperty 与 GoogleAppEngine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13559521/
我当前正在存储给定产品的上传图像,如下所示: class Product(db.Model): images= db.ListProperty(db.Blob) # More prop
我的目标是:实现两个“相同”列表,在尽可能短的时间内从两个列表中删除不重合的对象。 我所取得的成就:两个相同的列表,删除了不重合的内容,但花费的时间太长。 我的问题是: 我有两个大列表(每个列表有 8
我在一个实体中拥有 ListProperty,该实体包含两个时间对象,这两个时间对象代表企业一周中某一天的营业时间和营业时间: mon_hours = db.ListProperty(datetime
我目前在 Google App Engine 中使用 Django 表单,我有一个模型如下: class Menu(db.Model): name = db.StringProperty(re
如何使用 Google App Engine 分配 ListProperty? name = self.request.get("name") description = self.r
我定义了一个包含列表的类。我正在尝试使用传输列表初始化构造函数中的列表: public class Person { public IntegerProperty id; public
JavaFX 中是否有一个 CHANGEABLE ListProperty?我需要一个 ListProperty 支持 add() 和 remove() 方法,但我找不到。SimpleListProp
在 Google App Engine 解决方案 (Python) 中,我使用 db.ListProperty 来描述多对多关系,如下所示: class Department(db.Model):
如何按 ListProperty* 对查询进行排序? 模型: class Chapter(ndb.Model): title = ndb.StringProperty(required=Tru
我有一个ListProperty(str): class Item(db.Model): tags = db.ListProperty(str) 有时我需要编辑已经写入数据存储的标签,所以我创
ListProperty 中可以存储多少项?有限制吗? 最佳答案 实体的大小限制为 1MB(当编码为 Protocol Buffer 时),因此这对列表的大小提供了实际限制。此外,如果列表已编入索引,
我正在开发一个简单的博客/书签平台,我正在尝试添加一个tags-explorer/drill-down 功能 là delicious允许用户过滤指定特定标签列表的帖子。 是这样的: 帖子在数据存储中
我想我疯了,为什么下面的方法不起作用? class Parent(db.Model): childrenKeys = db.ListProperty(str,indexed=False,def
好的,我在本地和 gae 云中都有相同的 python 代码。 当我在本地存储实体时,设置元素类型 datetime.datetime 的 ListProperty 字段在数据存储查看器中看起来像这样
我有这段代码可以找到属性分支为空的所有节点。 nobranches=TreeNode.all() for tree in nobranches: if tree.branches==[]: 我想找到
我注意到 ListView 中的 itemsProperty类型为 ObjectProperty> ,但我会期待 ListProperty . 现在我想知道:我应该什么时候使用 ObjectPrope
在 tornadoFX 中是否可以将 ListView 绑定(bind)到 ListProperty? 我有一个如下 View 模型: class MyVm: ItemViewModel() {
我正在尝试使用 bulkloader 填充 db.ListProperty() 模型字段。 我正在使用如下导入转换函数: def parse_array(fn): def wrapper(va
我正在试用 Google App Engine 并有一个问题。 为简单起见,假设我的应用正在为计算机网络建模(一个相当大的企业网络,有 10,000 个节点)。我正在尝试按如下方式对我的 Node 类
假设我有一个模型User,其属性bands 类型为StringListProperty。在请求处理程序中,我正在扩展/附加到 bands 列表,而且我正在为 taskqueue 创建很多任务,其处理程
我是一名优秀的程序员,十分优秀!