我有这门课,我想用手机作为钥匙。关键是表单输入 task.phone = self.request.get('phone')。我搜索了答案,但我发现的唯一答案来自代码内部(如task =(phone = 5555))。
class task(db.Model):
name = db.StringProperty()
lanme = db.StringProperty()
phone = db.StringProperty()
adress = db.StringProperty()
visits = db.IntegerProperty()
答案 0 :(得分:1)
一个简单的解决方案是:
task = task(key_name=adress)
更高级的是:
class task(db.Model):
...
def __init__(self, *args, **kwargs):
kwargs['key_name'] = kwargs['adress']
db.Model.__init__(self, *args, **kwargs)
但是你需要记住的是,appengine不使用特定的字段作为密钥,总会有一个密钥,可能与特定字段匹配也可能不匹配。如果它们是相同的,那就是“巧合”。作为一般建议,保持密钥不变。您可能没有考虑一些问题,例如密钥的唯一性和覆盖它们。
一些旁注: