2013-06-18 4 views
0

Я новичок в app-engine [Python 2.7] Я хотел бы удалить элементы из моего ndb (в настоящее время меня не волнует, если он один за другим или все сразу, так как никто работает для меня).app-engine ndb удалить данные

Версия 1 на основе this Q:

ps_ancestors = req_query.fetch() 
for ps_ancestor in ps_ancestors: 
    self.response.write(ps_ancestor.key) 
    ps_ancestor.key.delete() 

Он продолжает печатать одни и те же данные, не удаляя ничего

Версия 2: [MyId в настоящее время имеют только значения 1,2,3]

ndb.Key(myId, 1).delete() 
ndb.Key(myId, 2).delete() 
ndb.Key(myId, 3).delete() 

модель:

class tmpReport (ndb.Model): 
    myId = ndb.IntegerProperty() 
    hisId = ndb.IntegerProperty() 
    date = ndb.DateTimeProperty(auto_now_add=True) 

Что мне не хватает?

+0

http://stackoverflow.com/questions/1010573/how-do-i-delete-all-entities-from-my-local-google-app-engine-datastore решить мою проблему .. – user2495766

ответ

0

Прежде всего, вы не должны определять свой объект Entity как IntegerProperty. Взгляните на эту документацию: NDB Entities and Keys

Чтобы удалить объект из хранилища данных, вы должны сначала загрузить его с помощью запроса или его идентификатора. Я рекомендую вам использовать «обозначение,» при создании объектов (чтобы использовать его в качестве пользовательского ID):

# Model declaration 
    class tmpReport (ndb.Model): 
     hisId = ndb.IntegerProperty() 
     date = ndb.DateTimeProperty(auto_now_add=True) 

# Store the entity 
    report = tmpReport(id=1, hisId=5) 
    report.put() 

Затем для извлечения и удаления предыдущего использования сущностей:

# Retrieve entity 
report = ndb.Key(tmpReport, 1).get() 
# Delete the entity 
report.delete() 

Надеется, что это помогает ,

+0

Я думаю, что это неверно. delete() существует только на ключе, поэтому: 'report.key.delete()' https://developers.google.com/appengine/docs/python/ndb/entities#deleting_entities – Jonny

+0

@Jonny прав: AttributeError: ' Объект tmpReport 'не имеет атрибута' delete ' – Tjorriemorrie

Смежные вопросы