我如何反省appengine数据存储模型?

时间:2010-05-28 15:38:59

标签: python google-app-engine google-cloud-datastore

为了动态创建表单,我必须在运行时找到模型属性的属性类型。

appengine docs说,Model.properties()将返回属性名称及其类类型的字典。当我在我的代码中使用此方法时,只返回名称,并且classtype值始终为空。

1 个答案:

答案 0 :(得分:1)

<强> Model.kind()

,例如,对于这样的模型:

class LargeTextList(db.Model):
    large_text_list = db.ListProperty(item_type=db.Text)

my_model_instance.kind()返回LargeTextList


编辑(感谢OP澄清):
您寻求的房产信息就在那里,但您需要逃离才能看到它,例如在您的模板中:

<p>{{ my_model_instance.properties|escape }}</p>

返回:

{'large_text_list': <google.appengine.ext.db.ListProperty object at 0x24b1790>}

EDIT2:
您也可以在课堂上调用properties()

my_model = LargeTextList

和以前的模板一样(请务必使用escape过滤器):

<p>{{ model.properties|escape }}</p>