更新:我注意到當我使用視圖(和create_object函數)保存實體時,實體被保存(並且在數據存儲查看器中可用)。但是當我使用shell(manage.py shell)來創建和保存新實體時,它不會被提交到存儲器(但仍然可以在Tes.objects.all()中看到)。使用google appengine在django-nonrel中保存實體
我開始與Django的nonrel與谷歌AppEngine上玩,我收到由爲節約實體爲簡單的事情感到沮喪。
我已經按照instruction中所述設置了我的環境。我設法運行示例應用程序,它運行正常。我想擴展它,以便將我的實體保存到存儲中。要做到這一點:
我增添了新的Django模塊models.py:
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
腳本運行沒有錯誤。當我連續運行幾次時,它會打印越來越多的「測試」字符串。但是,當我嘗試運行一分鐘後,Tes.objects.all()什麼都不返回。在那段時間內,數據存儲文件改變了它的大小(但也許這只是某種日誌)。當我看到http://localhost:8000/_ah/admin/datastore時,我只能從select字段中選擇AhAdminXrsfToken。
無論如何,我錯過了什麼?我在哪裏可以找到某種能夠告訴我發生了什麼問題的日誌?
這真的沒有回答這個問題。 –
「我錯過了什麼?」被問及我的答案是保存和創建之間的區別。我想說的是,它可以是使用save()和put()進行保存和創建的區別,並且有完整的django可以替代。 –