Jas*_* O. 2 python google-app-engine app-engine-ndb google-cloud-datastore
在将数据存储到NDB中时,我想从字符串变量中获取字段的名称(例如,field_name2 ="userid").有办法吗?提前致谢.
class Account(ndb.Model):
username = ndb.StringProperty()
userid = ndb.IntegerProperty()
class MainPage():
field_name2 = 'userid'
acct = Account.get_key(id).get()
acct.username = "Bob"
acct[**field_name2**] = "001" ## How can I do something like this?
acct.put()
Run Code Online (Sandbox Code Playgroud)
因为ndb.Models行为类似于普通的Python对象,所以您可以使用Python getattr和动态访问字段setattr.
在你的例子中:
setattr(acct, field_name2, "001")
Run Code Online (Sandbox Code Playgroud)
在http://shell.appspot.com上给它一个旋转 参见:如何在Python中动态访问类属性?