- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在处理的 django projet 有大量的 initial_data fixture 数据。默认情况下,自动加载数据的唯一方法似乎是在您的应用程序文件夹中有一个名为 fixtures
的文件,并且该文件需要命名为 initial_data.ext
(ext是 xml 或 json 或 yaml 或其他东西)。
我认为这真的很不灵活。我宁愿有一个 fixtures 文件夹,然后在该文件夹中有一个 initial_data 文件夹,然后在里面,该应用程序中的每个模型都有一个文件。或者类似的东西。现在可以在 django 中这样做吗?或者可能是其他一些更好的 fixture 组织方案。
最佳答案
根据我的经验,硬编码的固定装置写起来很痛苦,维护起来也很痛苦。每当模型更改破坏固定装置时,Django 初始加载将返回非常不友好的错误消息,您最终将在 Django 核心中添加一堆打印,以便找到问题的根源。
与我一起工作的一位开发人员开发了一个非常好的库来解决这个问题,它叫做 django-dynamic-fixture我们真的很喜欢它。这是它的工作原理:
假设你有这个模型:
class Author(models.Model):
name = models.CharField()
class Book(models.Model):
author = models.ForeingKey(Author, required=True)
title = models.CharField()
为了在你的测试中创建一个书籍实例,你所要做的就是
from django_dynamic_fixture import get
from app import Book
class MyTest(TestCase):
def setUp(self):
self.book = get(Book)
django-dynamic-fixture 会自动为您创建 Book 模型存在所需的任何依赖项。这只是一个简单的示例,但该库可以处理非常复杂的模型结构。
关于python - django 中的 initial_data fixture 管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4400609/
我正在使用 django_nose 来运行我的测试。我有一个夹具 initial_data.json,它是一个应用程序的文件夹:my_app/fixtures/initial.json。 使用 pyt
我正在测试一个不是我自己编写的 Django 应用程序,它使用两个固定装置:initial_data.json 和 testing.json。两个 fixtures 文件都包含冲突数据(引发完整性错误
我有一个 initial_data 夹具,我想在每次除了生产时加载它。我已经有用于生产和非生产部署的不同设置文件。 关于如何实现这一点有什么建议吗? 澄清:我不想要测试夹具。基本上,我只需要根据某种设
我一直在与 South 合作开发一个新的 Django 项目。 我刚刚添加了一个新模型 Client,我想确保运行的任何测试或任何新的数据库设置始终填充一个实例Client,所以我在项目的 initi
我正在为我的 Django 项目数据库创建一个初始化文件。我正在使用我创建的名为 initial_data.json 的文件来执行此操作。例如,以下代码(当运行 syncdb 时)在模型 Word 中
我正在处理的 django projet 有大量的 initial_data fixture 数据。默认情况下,自动加载数据的唯一方法似乎是在您的应用程序文件夹中有一个名为 fixtures 的文件,
在 Django 1.7 之前,我曾经为每个项目定义一个 fixtures设置中的目录: FIXTURE_DIRS = ('myproject/fixtures',) 并用它来放置我的 initial
需要减小包的大小,那么是否可以将初始数据压缩为某种支持的格式以便 syncdb 提取? 最佳答案 .tgz 表示包含多个文件的存档;它是 gzipped 磁带存档文件的后缀。 Django 的 loa
假设我在 Sqlite3 DB 中有一些数据,这些数据是通过从 Python 的 sqlite3 模块执行 executemany() 插入的。 示例initial_data: initial_dat
有没有办法通过 initial_data 装置加载一些初始站点(从站点框架),这样我就可以避免在我的每个测试中设置它们? 我在尝试将其放在那里时遇到此错误: DeserializationError:
我设置了几个应用程序,其中一个我刚刚添加了一个装置。我在app文件夹下的子目录“fixtures”中创建了一个“initial_data.yaml”文件,所以完整路径是project_dir\apps
我在 apps/hello 有一个带有应用程序的 Python Django 项目,在 /apps/hello/fixtures/initial_data.json 有一个带有初始数据的 fixtur
我是一名优秀的程序员,十分优秀!