Python 如何将应用程序引擎数据存储中的实体加载到WTForms模型表单中?

Python 如何将应用程序引擎数据存储中的实体加载到WTForms模型表单中?,python,google-app-engine,google-cloud-datastore,wtforms,Python,Google App Engine,Google Cloud Datastore,Wtforms,我正在使用WTForms的应用程序引擎扩展从我的数据存储模型生成表单。这对于添加新实体非常有用,但我也希望能够使用表单编辑现有实体 是否可以将现有数据存储实体加载到使用GAE数据存储模型中的模型表单创建的表单中?如果是,我该怎么做?如果没有,我应该采取什么方法来实现这一点?这是我更新谷歌数据存储的版本 class AdminBlogEdit(MethodView): def __init__(self): self.blog_form = NewBlogEntry

我正在使用WTForms的应用程序引擎扩展从我的数据存储模型生成表单。这对于添加新实体非常有用,但我也希望能够使用表单编辑现有实体


是否可以将现有数据存储实体加载到使用GAE数据存储模型中的模型表单创建的表单中?如果是,我该怎么做?如果没有,我应该采取什么方法来实现这一点?

这是我更新谷歌数据存储的版本

class AdminBlogEdit(MethodView):
    def __init__(self):
            self.blog_form = NewBlogEntryForm(csrf_enabled=False)

    def get(self,blog_key_id=None):
        if blog_key_id:
            self.blog_model = BlogEntryModel.get_by_id(blog_key_id)
            self.blog_form = NewBlogEntryForm(obj = self.blog_model)

        return render_template('admin/blog_edit.html', form=self.blog_form)

    def post(self,blog_key_id=None):
        if self.blog_form.validate():
            self.update_post(blog_key_id)
            self.blog_model.put()
            return redirect(url_for(".admin"))
        else:
            return render_template('admin/blog_edit.html', form=self.blog_form)     
        return redirect(url_for(".admin"))


    def update_post(self,blog_key_id):
        if blog_key_id: 
            self.blog_model = BlogEntryModel.get_by_id(blog_key_id)
            self.blog_form.populate_obj(self.blog_model)    
        else:
            self.blog_model = BlogEntryModel(title  =   self.blog_form.title.data, date_created = self.blog_form.date_created.data, 
                                                            entry = self.blog_form.entry.data)
其主要思想是在显示GET请求之前检索数据存储实体并填充表单数据


对于PUT请求,再次检索数据存储实体并使用表单数据更新它,然后对其调用datastoremodel.PUT()

以下是我缺少的魔力:
obj=self.blog\u model
。谢谢你的帮助!