3

我是来自 Rails 的 Django 新手,我发现 Django 固定装置(最常见的是我收集的 JSON)有点尴尬和笨拙,至少与我熟悉的 rails 固定装置相比。我喜欢能够嵌入一些 ruby​​ 代码,例如 <%= Time.now %>,或者在将事物与外键关联时通过名称引用其他固定装置(以避免必须跟踪 id)。

那么问题来了,你如何更有经验 Django 开发人员构建你的设备。您是否坐下来手动编写 JSON/XML/YAML,或者是否有其他工具可以帮助类似于 rails 给我的帮助?还是在 ./manage.py shell 中创建一些数据并将该数据转储到夹具中最简单,而不是手动编写夹具?甚至,您是否发现自己在测试类的 setUp(self) 方法中放入了大量数据。一旦你有了更多的经验,也许用手把这些东西写出来就不那么乏味了?

4

3 回答 3

2

Django 的管理站点非常适合快速输入虚拟数据或初始数据。然后,您可以将其转储到 json 文件(或任何格式)。

http://docs.djangoproject.com/en/dev/ref/django-admin/#dumpdata-appname-appname-appname-model

django-admin.py dumpdata | pbcopy会将所有 json 格式的数据转储到剪贴板。

转储内容类型和身份验证表时要小心,因为这可能会在将夹具重新加载到数据库时导致问题。

于 2010-01-06T23:47:44.263 回答
1

查看django-dilla。它为您的模型甚至图像生成随机数据。对测试很有用,无需手动将数据输入到管理员中。

于 2010-06-14T20:16:59.367 回答
0

项目中所有数据的简单数据转储到Json夹具

python manage.py dumpdata --format=json myapp > /path/to/myapp/fixtures/initial_data.json

然后tests.py添加这个以包括固定装置:

class ViewTests(TestCase):

    # load fixtures
    fixtures = ['data2.json']

        def setUp(self):
        # continue remainder of test code
于 2014-03-03T15:17:49.420 回答