我正在转换我的应用程序以使用NDB.我曾经有类似的东西:
@db.ComputedProperty
def someComputedProperty(self, indexed=False):
if not self.someCondition:
return []
src = self.someReferenceProperty
list = src.list1 + src.list2 + src.list3 + src.list4 \
+ [src.str1, src.str2]
return map(lambda x:'' if not x else x.lower(), list)
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我生成列表的方法有点复杂,我更喜欢这样做.但是当我开始转换为NDB时,我只是替换了@db.ComputedProperty
,@model.ComputedProperty
但后来我收到了这个错误:
NotImplementedError: Property someComputedProperty does not support <type 'list'> types.
Run Code Online (Sandbox Code Playgroud)
我可以model.py
在ext.ndb中看到ComputedProperty
继承自GenericProperty
哪里_db_set_value
有几个if/else语句根据其类型处理值,除了没有处理lists
目前它经历了第一个条件,并在返回空列表时发出错误.
有没有办法解决这个问题并避免错误?
python google-app-engine python-2.7 app-engine-ndb google-cloud-datastore
我想查询DBpedia的多个关键字,显然我必须搜索一个确切的子字符串,所以如果我想要页面Egyptian Pyramids
,搜索Egypt Pyramids
将无法正常工作,但这正是我需要的...
所以我想也许我可以看看"金字塔"这个概念是否与"埃及"有关,通过搜索关系,但我发现很难找到所需的sparql查询
BTW我通过查询:http://dbpedia.org/sparql
我想将形式的输入日期转换dd/mm/yyyy
为MySQL格式yyyy-mm-dd
.
我试图使用,date('Y-m-d', strtotime($_POST['date']))
但问题是输出总是Y-d-m,
我认为,因为它认为我的第二个参数是mm/dd/yyyy
.
我该如何解决?
这个问题的很多答案都是使用replace()
但我需要一个通用的解决方案..我正在使用一个API,我得到一些JSON代码,我使用JQuery $.each
来查看数据,但随后的&符号被转入&
,我不确定所以我需要什么其他类型的实体我能找到的,到转换&
和任何其他可能的实体(如"
,<
等)到其对应的字符.
我有一个循环,我把很多实体放入数据存储区,如下所示:
for line in open(file):
if count >= limit:
break
elif count >= offset:
prop1 = XXX
prop2 = YYY
MyEntity(prop1=XXX, prop2=YYY).put()
count += 1
Run Code Online (Sandbox Code Playgroud)
我知道使用批量上传器,但是我需要在代码中执行此操作.只要限制不是那么大,我目前有什么工作(否则我的截止日期超出错误,但这不是这个的范围问题),我只是问是否有更好或更有效的方法来做这件事,因为这看起来像一个丑陋的黑客,例如一种方法,如将所有实体放在一个镜头而不是循环左右.