2010-05-02 121 views
3

是否有一个简单的使用独特的验证,在AppEngine上Django的形式呢?App Engine Django表单唯一性验证?

我明白,如果我们保持独特性,约束表现会的问题,但由于要添加的数据量是非常小的性能是不是一个大问题,而开发时间是一个问题在这里。

任何帮助表示赞赏。

回答

1

您可以使用键的唯一性:

实体的完整键, 包括路径,类型和 名称或数字ID,是独一无二的, 特定于该实体。当实体是在数据存储中创建 ,没有的 其部分可以改变整个 键被分配...

每个实体都有一个标识符。一个 应用程序可以通过 给实例构造一个 KEY_NAME参数分配在重点利用自身 标识符(STR值):

s = Story(key_name="xzy123") 

...一旦实体已创建,其 ID或名称不能更改。

编辑

由于jbochi指出,这可能是危险的,你可能丢失数据。实现这一点的另一种方法是使用散列函数和碎片计数器。在"Paging through large datasets"文章中显示了一个很好的示例。

+1

当心,如果您尝试保存一个新的具有相同'key_name'旧实例将被覆盖。不会出现错误。 – jbochi 2010-05-02 14:38:07