Python 使用google appengine在django Norel中保存实体
更新:我注意到,当我使用视图(和创建对象函数)保存实体时,实体会被保存(并可在数据存储查看器中使用)。但是,当我使用shell(manage.py shell)创建和保存新实体时,它不会提交到存储中(但仍然可以在Tes.objects.all()中看到)Python 使用google appengine在django Norel中保存实体,python,google-app-engine,django-nonrel,Python,Google App Engine,Django Nonrel,更新:我注意到,当我使用视图(和创建对象函数)保存实体时,实体会被保存(并可在数据存储查看器中使用)。但是,当我使用shell(manage.py shell)创建和保存新实体时,它不会提交到存储中(但仍然可以在Tes.objects.all()中看到) 我开始在谷歌appengine上玩django Nonel,我对保存实体这样简单的事情感到沮丧 我已按照中所述设置了环境。我设法运行了示例应用程序,它运行正常。我想对其进行扩展,以便将实体保存到存储器中。为此: 我使用models.py添加了
我开始在谷歌appengine上玩django Nonel,我对保存实体这样简单的事情感到沮丧 我已按照中所述设置了环境。我设法运行了示例应用程序,它运行正常。我想对其进行扩展,以便将实体保存到存储器中。为此:
from django.db import models
class Tes(models.Model):
name = models.CharField(max_length=150)
import os
import sys
sys.path.append("d:\\workspace\\project\\")
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
from testmodule.models import Tes
t = Tes(name="test")
t.save()
tes = Tes.objects.all()
for t in tes:
print t.name
t.put()
?我使用put()。如果您导入django,您可能想知道django还有其他替代品,比如我选择的GAE+Jinja2+WTForms,尤其是现在google.db.djangoforms不推荐为表单选择表单框架,一个模板引擎,也许还有一个db框架,您不必导入django,这通常会迫使您导入比需要多得多的内容
因此,我的建议是避免导入django…
,而是使用Jinja2+WTForms。如果你真的想在appengine上使用django,那么你可能想登录www.allbuttonpressed.com项目,该项目可以为谷歌appengine启用所有django,但请确保你需要这么多django,因为我怀疑我们需要的只是一个模板引擎和一个表单框架,我们可以不用django 这是一个让人困惑的问题。从:
另外,切勿将manage.py runserver与其他管理工具一起运行
同时命令。这些改变不会生效。这是一个很好的例子
App Engine SDK限制可能在以后的版本中得到修复
因此,您不能同时执行
manage.py runserver
和manage.py shell
。如果这样做,对其中一个数据存储的更改将在另一个数据存储中不可见。App Engine SDK强制执行本地数据存储锁定。在启动shell之前,请确保已停止服务器 这真的不能回答问题。“我缺少什么?”被问到,我的答案是保存和创建之间的区别。我想说的是,这可能是使用save()和put()保存和创建之间的区别,而且除了完整的django,还有很多好的替代方法。