每种命名空间

时间:2012-11-17 17:15:50

标签: python google-app-engine google-cloud-datastore

我有一个需要分离数据的项目。

将会实施多个“系统”。每个都将基于一般模型。要在GAE数据存储区中使用此功能,我可以使用前缀:4EClass3EClassPthClass。我宁愿使用命名空间,因为它看起来更干净。

我希望能够在类的子类中设置命名空间:

class Class(db.Model):
    namespace = '4E'

有没有办法让put,query等使用这些命名空间,最好不用Class.query(namespace=Class.namespace)之类的?

2 个答案:

答案 0 :(得分:1)

使用名称空间并没有多大意义 - 名称空间与模型类正交。

相反,您可以指定一个独立于类名的种类名称:

class MyModel(db.Model):
  @classmethod
  def kind(cls):
    return "MyModel_Foo"

答案 1 :(得分:0)