问题标签 [django-fixtures]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - 使用夹具将 django admin auth.groups 和用户迁移到新数据库
这是场景:
我正在使用 django 的管理界面,我希望能够通过固定装置加载用户和组(如果可能的话。)我可以像这样转储用户/组:
但是在将数据加载到全新的数据库中时...
我遇到与外键等有关的各种错误。这是一个例子:
如果有人能指出我正确的方向,我将不胜感激。提前致谢!
django - 将信息从 Scrapy 爬虫持续导出到 Django 应用程序数据库的最佳方法是什么?
我正在尝试构建一个功能类似于商店的 Django 应用程序。项目是从互联网上抓取的,并随着时间的推移(比如每隔几天)不断更新 Django 项目数据库。我正在使用 Scrapy 框架执行抓取,虽然有一个实验性的DjangoItem 功能,但我宁愿远离它,因为它不稳定。
现在,我的计划是使用 Scrapy XMLItemExporter
(此处的文档)创建已爬取项目的 XML 文件,并将这些文件作为 XML 固定装置(此处的文档)使用loaddata
到 Django 项目中。这似乎没问题,因为如果两个进程之一搞砸了,它们之间就有一个文件中介。将应用程序作为一个整体模块化似乎也不是一个坏主意。
一些担忧是:
- 这些文件可能太大而无法读入 Django 的
loaddata
. - 当可能有更好或更简单的解决方案时,我在这方面花费了太多时间,例如直接导出到数据库,在这种情况下是 MySQL。
- 似乎没有人在网上写过这个过程,考虑到 Scrapy 在我看来是一个可以插入 Django 应用程序的优秀框架,这很奇怪。
- 在 Django 的文档上没有手动创建 Django 固定装置的明确指南 - 似乎它更倾向于从应用程序本身转储和重新加载固定装置。
实验性 DjangoItem 的存在表明 Scrapy + Django 是一个足够流行的选择,因为这里有一个很好的解决方案。
我将非常感谢有关此问题的任何解决方案、建议或智慧。
django - 加载 Django 固定装置时未调用 model.save()?
我正在覆盖我的 Django 模型 save() 方法,因此我可以对对象进行一些额外的健全性检查。(save() 是正确的地方吗?)
我的 fixtures/initial_fixtures.yaml 对象似乎没有调用它们的 save() 方法。我怎样才能对我的固定装置进行健全性检查?
google-app-engine - 如何从夹具远程加载数据
在 GAE 上使用 Django-nonrel,我如何在部署后将夹具加载到服务器?我可以通过 locallay 做到这一点
python manage.py loaddata 夹具名称
但是,我怎样才能在 apppot.com 上已经部署的应用程序上做到这一点?
django - syncdb 未在 3rd 方项目中添加固定装置
我已经编写了一个非常简单的 Django 应用程序,名为django-locality,它可以让与国家和地区的工作无关。它为国家和地区提供了大量的初始数据。我只是 PyPI 的 0.1 版本,并将它安装在我目前正在处理的项目中。(我基本上是根据我在原始项目中发现的需要创建它的。)
但是,当我运行syncdb
时,它并没有从locality
. 在输出中,它打印了“No fixtures found”,并且没有向数据库添加任何行,尽管生成了表。Django 缺少我的初始数据有什么原因吗?locality/fixtures/initial_data.json
如果从它自己的专用项目运行它,我的数据就可以保存并安装得很好。当我使用 setuptools 来管理依赖项时,如果我将其下载为压缩鸡蛋与简单的目录布局会有所不同吗?
最初,我的 JSON 似乎没有包含在鸡蛋中,这就是为什么syncdb
不起作用。现在,我已经解决了这个问题,但仍然syncdb
无法找到我的任何固定装置。您可以在这里下载彩蛋亲自查看。我想不出 Django 会丢失初始数据的任何原因。您还可以在 GitHub 上查看存储库。为什么 Django 看不到固定装置?
当我运行时syncdb -v 2
,我确实看到 Django 看到了鸡蛋并寻找了固定装置:
有没有可能 Django 不知道如何读取鸡蛋?
django - Django 测试:如何获取只有夹具数据且没有 IntegrityErrors 的数据库(通过诊断错误源)?
我正在尝试使用夹具数据运行测试,并得到臭名昭著的IntegrityError: column user_id is not unique
错误。
现在,查看我的灯具,我可以看到我的灯具中的用户模型的 id 彼此之间是唯一的。我推断冲突与(非测试)数据库中的现有数据发生冲突。这个对吗?(编辑:这似乎是不正确的 - 见下文)
我希望能够准确控制哪些数据可用于我的测试。有没有办法阻止 django testrunner 从我的实时数据库中加载数据,以及我的夹具数据?(编辑:是的 - 见 Thibaut 的回答)。
编辑:根据 Thibaut 的回答,切换到使用干净的内存数据库并不能解决问题。因此,我推断我现有的开发数据库不是问题。
所以,我有第三个问题:在测试期间加载夹具时如何诊断 IntegrityError 的原因?(而且,我该如何解决?)
编辑 2:我的问题的解决方案,除了从一个干净的数据库开始(根据 Thibault J)之外,还从安装的应用程序中删除引用用户的模型,直到错误不再发生。
DrTyrsa 的另一个建议(除了查看数据)是使用自然键,这对于 User 无疑需要一定数量的猴子补丁或其他黑客(编辑 User 的代码?)。
django - 在 django 中管理灯具的正确方法
今天我和我的同事讨论了我们应该如何在我们的 django 应用程序中管理固定装置。我们找不到任何能让每个人都满意的解决方案,所以我在这里问这个问题。
假设我们有一个相当大的 django 项目,里面有十几个应用程序,每个应用程序都有带有几个 TestClass 的 tests.py 文件。有了这个,我应该如何管理所有这些应用程序的测试数据?从我的角度来看,有两种不同的方法:
- 为每个应用程序test_data.json文件单独存储所有数据。该文件将包含应用程序的models.py文件中定义的所有模型的测试数据,无论该数据在哪里使用(它可以用于来自不同应用程序的测试)
- 将所有测试(如auth.users )可能需要的一些通用数据存储在 test_data.json 中,并将每个TestCase的数据存储在单独的test_case.json文件中。
从我的角度来看,第二种方法似乎更干净,但我想知道是否有人可以告诉我这些方法的具体利弊,或者可能会建议一些其他方法?
django - Django 的同步数据库在 auth_permission 表中插入重复的条目
我在 django 中创建了我的模型并运行manage.py syncdb
一切都很好,直到我在现有应用程序中添加了一个新模型。当我syncdb
再次运行时,重复的条目被插入到auth_parmission
表中。即使是来自“管理员”应用程序的条目日志。
我做了一个测试以删除新模型,删除数据库,创建一个空的并运行syncdb
. 这从现有夹具加载了我的初始数据。
当我再次运行“syncdb”(不添加任何新模型)时,同样的事情发生了:重复的条目被插入到auth_permission
表中。
对正在发生的事情以及如何避免那些重复的条目有任何解释吗?
谢谢
django - Django 固定装置。JSON解码错误
我有一个 Django 项目,我想将测试数据添加到数据库中。当我像这样制作syncdb
表安装后我有一个错误
我的模型在这里:
我的夹具是这样的:
哪里有问题?
python - Django,带有固定装置的应用程序
我正在编写 Django 应用程序,它是一个基于 jQuery Grid 插件的管理界面。现在我想制作这个应用程序的演示并允许使用不同的数据进行实验,当然只是为了测试它。你们知道任何带有预定义装置的 django 应用程序吗?我找到了django-countries,它与国家列表一起使用。但我想找到更多。有什么建议么?提前致谢!