szy*_*ond 6 python google-app-engine django-nonrel
更新:我注意到当我使用视图(和create_object函数)保存实体时,实体被保存(并在数据存储区查看器中可用).但是当我使用shell(manage.py shell)来创建和保存新实体时,它不会被提交到存储(但仍可以在Tes.objects.all()中看到).
我开始玩带有google appengine的django-nonrel,我对拯救实体这么简单的事感到沮丧.
我按照说明中的描述设置了我的环境.我设法运行示例应用程序,它运行正常.我想扩展它,以便将我的实体保存到存储中.为此:
我用models.py添加了新的django模块:
from django.db import models
class Tes(models.Model):
name = models.CharField(max_length=150)
Run Code Online (Sandbox Code Playgroud)我创建了一个脚本来保存一些数据:
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
Run Code Online (Sandbox Code Playgroud)该脚本运行时没有错误.当我一个接一个地运行它几次时,它会打印越来越多的"测试"字符串.但是当我在一分钟后尝试运行它时, Tes.objects.all()什么都不返回.在此期间,数据存储文件会改变它的大小(但可能只是某种日志).当我查看http:// localhost:8000/_ah/admin/datastore时,我只能从select字段中选择AhAdminXrsfToken.
无论如何,我错过了什么?在哪里我可以找到某种日志,它会告诉我什么是错的?
这是一个引起很多混乱的问题。来自djangoappengine 文档:
另外,切勿同时运行 manage.py runserver 和其他管理命令。更改不会生效。这是 App Engine SDK 的限制,可能会在以后的版本中得到修复。
所以你不能同时做manage.py runserver
and 。manage.py shell
如果这样做,对其中一个数据存储的更改将不会在另一个中可见。App Engine SDK 对本地数据存储区实施了锁定。确保在启动 shell 之前已停止服务器。
归档时间: |
|
查看次数: |
512 次 |
最近记录: |