我的输入数据是一个字符串,表示我想要制作的数据存储模型的类型。
在python中,我使用eval()
函数来实例化模型(在代码下面),但这看起来过于复杂,所以我想知道人们通常是否有更简单的方法呢?
>>>model_kind="TextPixels"
>>>key_name_eval="key_name"
>>>key_name="key_name"
>>>kwargs
{'lat': [0, 1, 2, 3], 'stringText': 'boris,ted', 'lon': [0, 1, 2, 8], 'zooms': [0, 10]}
>>>obj=eval( model_type + '(key_name='+tester+ ',**kwargs )' )
>>>obj
<datamodel.TextPixels object at 0xed8808c>
答案 0 :(得分:0)
他写道:
相反,你应该定义一个 工厂方法,如:
class MyModel(db.PolyModel):
@classmethod
def create(cls, foo, bar):
# Do some stuff
return cls(foo, bleh)