我目前在 NDB 中有一个模型,我想更改属性名称而不必接触 NBD。假设我有以下内容:
from google.appengine.ext import ndb
class User(ndb.Model):
company = ndb.KeyProperty(repeated=True)
我想要的是更像这样的东西:
class User(ndb.Model):
company_ = ndb.KeyProperty(repeated=True)
@property
def company(self):
return '42'
@company.setter
def company(self, new_company):
#set company here
有没有一种相对无痛的方法可以做到这一点?我希望能够方便地使用属性 getter/setter,但考虑到当前的实现,我希望避免接触底层数据存储。
您可以通过指定来更改类级属性名称,同时保留基础 NDB 属性名称名称=“xx”Property() 构造函数中的参数
所以可以这样做:
class User(ndb.Model):
company_ = ndb.KeyProperty(name="company", repeated=True)
@property
def company(self):
return self.company_
@company.setter
def company(self, new_company):
self.company_ = new_company
所以现在无论您何时访问。公司_NDB 实际上会设置/获取“公司”内部......并且您不必进行任何数据迁移
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)