0

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

将实施多个“系统”。每个都将基于一个通用模型。要在 GAE 数据存储中使用它,我可以使用前缀4EClass3EClassPthClass. 我宁愿为此使用名称空间,因为它似乎更干净。

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

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

有没有一种方法可以让 put、query 等与这些命名空间一起工作,最好不必这样做Class.query(namespace=Class.namespace)或类似的事情?

4

2 回答 2

1

为此使用命名空间没有多大意义——命名空间与模型类是正交的。

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

class MyModel(db.Model):
  @classmethod
  def kind(cls):
    return "MyModel_Foo"
于 2012-11-20T11:18:03.633 回答
0

我认为您正在寻找的是多模型。这里有 ndb:https
://developers.google.com/appengine/docs/python/ndb/polymodelclass 或 db:https ://developers.google.com/appengine/docs/python/datastore/polymodelclass

我也建议您使用ndb而不是db包装。 https://developers.google.com/appengine/docs/python/datastore/polymodelclass

于 2012-11-17T23:28:29.373 回答