Django测试夹具和内容类型

时间:2011-11-08 15:05:42

标签: django django-testing django-contenttypes

我在我的模型中使用django的 ContentType 外键, 我正在装置中使用它进行单元测试。

因此,我必须在我的灯具中硬编码 content_type_id ,但django有时会将其初始化为不同的值,因此我的测试失败。

那么有没有办法安全地预测模型的 content_type_id 或任何其他适当的方法来处理这种情况?

1 个答案:

答案 0 :(得分:19)

使用自然键:https://docs.djangoproject.com/en/dev/topics/serialization/#natural-keys

大多数文档都提到了如何将功能添加到您自己的模型中,但ContentType已经支持它们,因此只需将--natural-foreign添加到您的dumpdata管理命令中:

$ python manage.py dumpdata myapp --indent=4 --natural-foreign