首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在频繁修改模型时,Django工作流?

在频繁修改模型时,Django工作流?
EN

Stack Overflow用户
提问于 2009-01-30 23:18:54
回答 5查看 4K关注 0票数 25

由于我通常不会在Django项目中对我的模型进行预先设计,所以我最终修改了很多模型,因此每次都会删除我的测试数据库(因为"syncdb“永远不会为您自动更改表)。下面是我的工作流程,我想听听你的。任何想法欢迎..。

  1. 修改模型。
  2. 删除测试数据库。(对于我来说,总是一个简单的sqlite数据库。)
  3. 运行"syncdb“。
  4. 通过代码生成一些测试数据。
  5. 去1。

关于这个的第二个问题..。如果您的工作流程与上面一样,您如何执行这个4.步骤?您是手动生成测试数据,还是Django应用程序中有合适的挂钩点,可以在服务器启动时注入测试数据生成代码?

蒂娅。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-01-30 23:29:45

步骤2和步骤3可以一步完成:

代码语言:javascript
复制
manage.py reset appname

根据我的理解,使用固定装置最容易地管理第4步。

票数 22
EN

Stack Overflow用户

发布于 2009-01-30 23:32:02

这是Django固定装置的工作。它们很方便,因为它们是独立于数据库的,并且测试工具(和manage.py)已经内置了对它们的支持。

使用它们:

  1. 使用管理工具在应用程序中设置数据(称为"foo")
  2. 在"foo“应用程序目录中创建一个固定目录
  3. 类型:python manage.py dumpdata --indent=4 foo > foo/fixtures/foo.json

现在,在syncdb阶段之后,只需键入:

代码语言:javascript
复制
 python manage.py loaddata foo.json

你的数据就会被重新创建。

如果您希望它们在测试用例中:

代码语言:javascript
复制
class FooTests(TestCase):
    fixtures = ['foo.json']

注意,如果您的模式发生了巨大的变化,您将不得不重新创建或手动更新您的夹具。

您可以在夹具装填的django文档中阅读更多关于固定装置的信息。

票数 15
EN

Stack Overflow用户

发布于 2009-03-12 00:33:46

南方是最酷的。

尽管良好的ol‘重置在数据不重要的情况下效果最好。

http://south.aeracode.org/

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/497654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档