本地转储数据问题(在django应用程序引擎修补程序上)

本地转储数据问题(在django应用程序引擎修补程序上),django,google-app-engine,app-engine-patch,Django,Google App Engine,App Engine Patch,我正在将django与应用程序引擎补丁一起使用,但在从本地存储运行manage.py dumpdata时遇到了这个wierd问题(在使用--remote选项时工作正常) 我正在运行一个本地开发服务器,上面有一些测试数据。我可以在管理员网站上看到这些数据。 但是,运行manage.py dumpdata时,我得到的结果是: [{"pk": "agZmaWRkbWVyEQsSC2RqYW5nb19zaXRlGAEM", "model": "sites.site", "fields": {"domai

我正在将django与应用程序引擎补丁一起使用,但在从本地存储运行manage.py dumpdata时遇到了这个wierd问题(在使用--remote选项时工作正常)

我正在运行一个本地开发服务器,上面有一些测试数据。我可以在管理员网站上看到这些数据。 但是,运行manage.py dumpdata时,我得到的结果是:

[{"pk": "agZmaWRkbWVyEQsSC2RqYW5nb19zaXRlGAEM", "model": "sites.site", "fields": {"domain": "example.com", "name": "example.com"}}]
它甚至与我正在做的工作无关。就好像在运行manage.py dumpdata时,它加载了一个新的dev_appserver,该服务器从某个非默认存储的未知位置读取数据


知道这些数据来自哪里吗

问题it应用程序引擎修补程序manage.py使用的数据存储路径与运行dev_appserver.py时使用的解除路径不同

默认值为:

  • %TEMP%\dev_appserver.datastore
  • %TEMP%\dev_appserver.datastore.history
manage.py使用:

  • %TEMP%\django_u2;.数据存储
  • %TEMP%\django_u2;.datastore.history
这可以通过项目设置进行自定义。 负责此差异的函数位于\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

it应用程序引擎修补程序manage.py使用的数据存储路径与运行dev_appserver.py时使用的解除路径不同

默认值为:

  • %TEMP%\dev_appserver.datastore
  • %TEMP%\dev_appserver.datastore.history
manage.py使用:

  • %TEMP%\django_u2;.数据存储
  • %TEMP%\django_u2;.datastore.history
这可以通过项目设置进行自定义。 负责此差异的函数位于\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