首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在DjangoForms中使用实体组和祖先

如何在DjangoForms中使用实体组和祖先
EN

Stack Overflow用户
提问于 2011-12-23 02:26:08
回答 1查看 217关注 0票数 0

我想重写GAE djangoforms文章中的示例,以便在使用高复制数据存储在Google App Engine上提交表单后(例如,当更新或添加新条目时)显示最新的内容。

本文中的主要重复查询是:

代码语言:javascript
复制
query = db.GqlQuery("SELECT * FROM Item ORDER BY name")

我们将翻译成:

代码语言:javascript
复制
query = Item.all().order('name')  // datastore request

此查询我希望在提交表单后从高复制数据存储中获得最新的更新数据(只有在这些情况下,我假设我可以在提交后重定向到特定的urls,该urls仅使用对最新数据的查询,在所有其他情况下,我不会这样做)。

验证存储结果的表单的过程如下:

代码语言:javascript
复制
data = ItemForm(data=self.request.POST)
if data.is_valid():
    # Save the data, and redirect to the view page
    entity = data.save(commit=False)
    entity.added_by = users.get_current_user()
    entity.put()  // datastore request

从数据存储中获取用于填充表单(用于编辑)的最新条目的过程如下:

代码语言:javascript
复制
id = int(self.request.get('id'))
item = Item.get(db.Key.from_path('Item', id))  // datastore request
data = ItemForm(data=self.request.POST, instance=item)

那么,如何将实体组/祖先键添加到这些数据存储查询中,以反映表单提交后的最新数据。请注意,我不希望所有查询都有最新的数据,在填写表单(用于编辑)和提交表单后。

谁能帮我写一些实用的代码示例?

EN

回答 1

Stack Overflow用户

发布于 2011-12-29 17:26:41

如果它在同一个块中,则有当前意图的引用。

一旦你对它执行put()命令,你就可以通过以下方式获得它的id

代码语言:javascript
复制
if data.is_valid():
    entity = data.save(commit=False)
    entity.added_by = users.get_current_user()
    entity.put()  
    id= entity.key().id() #this gives you inserted data id
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8608239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档