我需要一些独特的属性.我怎样才能做到这一点?
有类似的东西unique=True吗?
我正在使用Google App Engine for Python.
我正在尝试实施延迟博客帖子删除方案.所以不是讨厌你确定吗?,你得到2分钟的时间框架来取消删除.
我想跟踪什么将被删除当使用db.Model类(DeleteQueueItem)时,我发现无法从队列中删除任务并怀疑我可以查询那里有什么.
创建DeleteQueueItem实体应该自动设置delete_when属性并将任务添加到队列中.我使用博客文章的相对路径作为其key_name,并希望在此处将其用作key_name.这导致我进入自定义初始化:
class DeleteQueueItem(db.Model):
"""Model to keep track of items that will be deleted via task queue."""
# URL path to the blog post is handled as key_name
delete_when = db.DateTimeProperty()
def __init__(self, **kwargs):
delay = 120 # Seconds
t = datetime.timedelta(seconds=delay)
deadline = datetime.datetime.now() - t
key_name = kwargs.get('key_name')
db.Model.__init__(self, **kwargs)
self.delete_when = deadline
taskqueue.add(url='/admin/task/delete_page',
countdown=delay,
params={'path': key_name})
Run Code Online (Sandbox Code Playgroud)
这似乎有效,直到我尝试删除实体:
fetched_item = models.DeleteQueueItem.get_by_key_name(path)
Run Code Online (Sandbox Code Playgroud)
这失败了:
TypeError: …Run Code Online (Sandbox Code Playgroud)