我正在使用django和app-engine-patch,我遇到了从本地商店运行manage.py dumpdata这个奇怪的问题(当我使用--remote选项时工作正常)
我正在运行一个本地开发服务器,上面有一些测试数据。我可以在管理站点上看到该数据。 但是运行manage.py dumpdata我得到的是:
[{"pk": "agZmaWRkbWVyEQsSC2RqYW5nb19zaXRlGAEM", "model": "sites.site", "fields": {"domain": "example.com", "name": "example.com"}}]
它甚至与我正在做的事情无关。好像在运行manage.py dumpdata时,它会加载一个新的dev_appserver,它从某个不是默认存储的未知位置读取数据。
知道这个dumpdata来自哪里?
答案 0 :(得分:1)
app-engine-patch manage.py使用与运行dev_appserver.py时使用的defualt路径不同的数据存储路径的问题
默认为:
manage.py使用:
这可以通过项目设置进行自定义。 充满这种差异的功能在\ django \ db \ backends \ appengine \ base.py:
def get_datastore_paths(settings_dict):
"""Returns a tuple with the path to the datastore and history file.
The datastore is stored in the same location as dev_appserver uses by
default, but the name is altered to be unique to this project so multiple
Django projects can be developed on the same machine in parallel.
Returns:
(datastore_path, history_path)
"""
from google.appengine.tools import dev_appserver_main
options = settings_dict['DATABASE_OPTIONS']
datastore_path = options.get('datastore_path',
dev_appserver_main.DEFAULT_ARGS['datastore_path'].replace(
"dev_appserver", "django_%s" % appid))
history_path = options.get('history_path',
dev_appserver_main.DEFAULT_ARGS['history_path'].replace(
"dev_appserver", "django_%s" % appid))
return datastore_path, history_path