【问题标题】:Unique Constraint At Data Level in GAEGAE 中数据级别的唯一约束
【发布时间】:2011-02-07 06:59:56
【问题描述】:

虽然one can enforce unique check before putting an object to store,但 GAE 似乎不支持 unique 约束。

但那是在 2009 年 1 月,那现在呢?我可以在模式创建期间对列指定unique 约束吗?即

class Account(db.Model):
  name = db.StringProperty()
  email = db.StringProperty() as unique # something like this
  @classmethod
  def create(cls, name, email):
    a = Account(name=name, email=email)
    a.put()
    return a

【问题讨论】:

    标签: google-app-engine


    【解决方案1】:

    不,您仍然不能在架构创建期间指定唯一性。

    这个问题位于here,以防你想看它。它还没有出现在他们的features on deck 列表中,所以看起来他们将首先开发其他功能。

    【讨论】:

    • 支持键名以外的唯一属性需要全局事务,因此我们不太可能很快添加它。目前,您可以通过键名或“后备”实体自行实现唯一性。
    【解决方案2】:

    您可以在应用引擎的数据存储as described here 中实现“唯一约束”。该示例以 Java 呈现,但您应该能够在 python 中应用相同的概念。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-30
      • 2019-10-10
      • 2013-05-21
      • 1970-01-01
      • 2011-02-05
      • 2010-12-13
      相关资源
      最近更新 更多