2024-09-23 22:19:47 发布
网友
我想把任何字符串转换成我现有的实体。是否可以编写如下convertToEntity()函数?你知道吗
class Personel(db.Model): name=db.StringProperty() class IsEntityExists(webapp.RequestHandler): def get(self): entity="Personal" Entity=entity.convertToEntity() Entity.all()
我想知道这个问题是否只是要求在已经导入模型类时,以某种方式查找该模型类的名称。你可以很容易地做到这一点(但只有当它已经被导入!),如下所示:
cls = db.class_for_kind("Personel") ... cls.all() ...
NDB中的等效值:
cls = ndb.Model._kind_map["Personel"] ... cls.query() ...
祝你好运!你知道吗
不,它不能纠正拼写。:-)
只有当你为模型建立加载器。。。例如:
from app import model_loader class IsEntityExists(webapp.RequestHandler): def get(self): Entity=model_loader("Personal") Entity.all()
而model\u loader函数将在文件夹结构(python模块)中搜索已定义的模型。。例如,您有文件夹结构:
models/ personal.py other_model.py user.py
所以模型装载机(“个人”)将导入个人.py并从该模块中提取“Personal”类,允许您对该类执行任何您想要的操作—如果它找到并加载它的话。你知道吗
当然,您必须对加载程序进行编码。你知道吗
但是,如果类(定义的模型)与代码位于同一个文件中,则可以通过locals()搜索“Personal”
def load_model(name): local = locals() try: return local[name] except KeyError: return None
我想知道这个问题是否只是要求在已经导入模型类时,以某种方式查找该模型类的名称。你可以很容易地做到这一点(但只有当它已经被导入!),如下所示:
NDB中的等效值:
祝你好运!你知道吗
不,它不能纠正拼写。:-)
只有当你为模型建立加载器。。。例如:
而model\u loader函数将在文件夹结构(python模块)中搜索已定义的模型。。例如,您有文件夹结构:
所以模型装载机(“个人”)将导入个人.py并从该模块中提取“Personal”类,允许您对该类执行任何您想要的操作—如果它找到并加载它的话。你知道吗
当然,您必须对加载程序进行编码。你知道吗
但是,如果类(定义的模型)与代码位于同一个文件中,则可以通过locals()搜索“Personal”
相关问题 更多 >
编程相关推荐