请帮助我理解我在这里做错了什么。
我在Google App Engine上运行一个小型视频游戏,在游戏中我们有一个内部消息服务。每条消息都有一个状态键列表,用于跟踪玩家是否已阅读消息。
我的问题是,当我尝试删除密钥列表时,无论列表中的密钥数是多少,都只会从数据存储区中删除其中一个实体。
class Game_Message(db.Model)
sender = db.StringProperty()
recipients = db.ListProperty(str)
status_keys = db.ListProperty(db.Key)
payload = db.TextProperty()
def add_status_keys(self):
self.status_keys = []
for user_id in self.recipients:
gms = Game_Message_Status.create(self, user_id)
self.status_keys.append(gms.key())
def remove_status_keys(self):
db.delete(self.status_keys)
我发现多次调用db.delete 会删除所有实体,但我不明白为什么。
例如:这可以正常工作。
def remove_status_keys(self):
db.delete(self.status_keys)
db.delete(self.status_keys)