2014-09-21 84 views
0

所以我有這個NDB datasore類:分號結束存儲字符串的數據存儲

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

我不知道這是什麼,但這聽起來很搞笑。祝你好運 – Veedrac 2014-09-21 06:23:07

+0

謝謝...希望有人以前有過這個問題,並解決它。 – 2014-09-21 06:39:04

回答

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 
+0

你說得對。這是我的HTTP POST請求的問題。我正在發送完整的數據。但似乎只是起來分號 – 2014-09-21 08:51:24

+0

我必須去學習,如何發送適當的HTTP POST請求。 :) 謝啦!!! – 2014-09-21 08:56:23