Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django syncdb未在第三方项目中添加装置_Django_Django Syncdb_Django Fixtures - Fatal编程技术网

Django syncdb未在第三方项目中添加装置

Django syncdb未在第三方项目中添加装置,django,django-syncdb,django-fixtures,Django,Django Syncdb,Django Fixtures,我已经编写了一个非常简单的Django应用程序,名为,它消除了与国家和地区合作时的头痛。它提供了许多国家和地区的初始数据。我刚刚发布了PyPI的0.1版本,并将其安装在我目前正在进行的项目中。(我创建它基本上是出于我在原始项目中发现的需要。) 然而,当我运行syncdb时,它没有从locality安装我的任何装置。在输出中,它打印“未找到任何装置”,并且没有向数据库添加任何行,尽管生成了表。Django丢失我的初始数据有什么原因吗?我的数据位于locality/fixtures/initial_

我已经编写了一个非常简单的Django应用程序,名为,它消除了与国家和地区合作时的头痛。它提供了许多国家和地区的初始数据。我刚刚发布了PyPI的0.1版本,并将其安装在我目前正在进行的项目中。(我创建它基本上是出于我在原始项目中发现的需要。)

然而,当我运行
syncdb
时,它没有从
locality
安装我的任何装置。在输出中,它打印“未找到任何装置”,并且没有向数据库添加任何行,尽管生成了表。Django丢失我的初始数据有什么原因吗?我的数据位于
locality/fixtures/initial_data.json
中,如果从自己的专用项目运行,安装会很好。当我使用setuptools来管理依赖项时,如果我将其作为压缩鸡蛋下载,与作为简单的目录布局下载相比,会有什么不同吗


起初,我的JSON似乎没有包含在egg中,这就是为什么
syncdb
不起作用的原因。现在,我已经解决了这个问题,但是
syncdb
仍然无法找到我的任何装置。你可以下载鸡蛋自己看看。我想不出Django会丢失初始数据的任何原因。您也可以在GitHub上进行访问。为什么Django没有看到赛程


当我运行
syncdb-v2
时,我确实看到Django看到了鸡蛋并查找了装置:

No json fixture 'initial_data' in '/home/rfkrocktk/Desktop/myproject/eggs/django_locality-0.1.1-py2.7.egg/locality/fixtures'.

有没有可能Django不知道如何从鸡蛋中读取数据

您的setup.py似乎没有将初始_data.json作为包_数据包含在内:这意味着当您从PyPi安装时,您将无法在发行版中获得初始_data.json文件


我个人认为,对于Django应用程序,使用源发行版
sdist
更容易。在这种情况下,您可以列出需要包含在清单中的非Python文件:

好的,事实证明,Django不知道如何查看压缩鸡蛋文件。当我将egg文件解压缩到一个名为的目录中时,一切都正常了

在我的例子中,我应该怎么做?我已经尝试包含清单,并尝试将包数据添加到我的安装文件中,但它仍然没有包含清单。它似乎仍然不起作用。我已经确定它是有效的;它在egg中包含fixtures目录和json,但在运行syncdb时仍然没有包含它。更新您的问题,而不是在答案中写问题:)!