所以我有这个ndb数据库类:
class Messages(ndb.Model):
message = ndb.StringProperty()
emailid = ndb.StringProperty(indexed=True)
date = ndb.DateTimeProperty(auto_now_add=True)
@classmethod
def query_book(cls,key):
return cls.query(ancestor=key).order(-cls.date)
当我尝试将下面给出的字符串保存到'消息' StringProperty:
"class asd
{
public void fun()
{
printf ("hello world!!!");
}
} "
只有分号的部分才会存储到数据存储区中。如果我没有输入分号,则整个字符串都会被存储。我应该提到上面的字符串是由用户输入的。分号和其他特殊字符可能出现在任何地方。我究竟做错了什么??提前谢谢......
答案 0 :(得分:1)
在开发人员和生产环境中,它对我来说都很好。 你说你从用户输入获得了这些数据,所以在那里寻找问题。 NDB可以正常使用它。
from google.appengine.ext import ndb
class _Foo(ndb.Model):
message = ndb.StringProperty()
emailid = ndb.StringProperty(indexed=True)
date = ndb.DateTimeProperty(auto_now_add=True)
@classmethod
def query_book(cls,key):
return cls.query(ancestor=key).order(-cls.date)
key = ndb.Key(_Foo, '1')
message = """class asd
{
public void fun()
{
printf ("hello world!!!");
}
} """
f = _Foo(key=key)
f.message = message
f.put()
assert key.get().message == message # no error here, means they are equal