如何检查实体是否存在于 gae 数据存储中?

How to check if entity exist in gae datastore?

我需要检查数据存储是否存在实体种类 "Kayit" 以创建新的 . 我的 db.model class:

class Kayit(db.Model):
    url=db.StringProperty()
    date = db.DateTimeProperty(auto_now_add=True)

目前正在使用它来检查,但它看起来并不优雅

class MainPage(webapp2.RequestHandler):
    def get(self):
        r_name="none"               
        q=db.Query(Kayit)    
        try:
            self.response.write(q[0].url)
        except:
            kay=Kayit(parent=_DefterKey(r_name),key_name='alibaba')
            kay.url="some url"                
            kay.put() 

我猜我们用 db.Key.from_path('Kayit', 1) 得到了父键。我如何使用它来检查它是否有实体?

回答者:

How to query parent entity from child entity in Google App Engine (Python) NDB/Datastore?

记录在云端 API:

https://cloud.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/Entity

...并显示在 python "Guestbook" google 示例中:

https://cloud.google.com/appengine/docs/python/gettingstartedpython27/usingdatastore

看看下面的节:

 greetings_query = Greeting.query(
        ancestor=guestbook_key(guestbook_name)).order(-Greeting.date)
 greetings = greetings_query.fetch(10)