Django 测试装置和内容类型
我在模型中使用 django 的 ContentType 外键, 我在单元测试的装置中使用它。
因此,我必须在我的装置中对 content_type_id 进行硬编码,但 django 有时会将其初始化为不同的值,因此我的测试失败。
那么有没有一种方法可以安全地预测模型的 content_type_id 或任何其他正确的方法来处理这种情况?
I'm using django's ContentType foreign key in my model,
and I'm using it in the fixtures for unit tests.
Therefore, I have to hard-code content_type_id in my fixture, but django sometimes initializes it to a different value and thus my tests fail.
So is there a way to safely predict the content_type_id of the model or any other proper way to handle such situations?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用自然键: https://docs.djangoproject.com/en/ dev/topics/serialization/#natural-keys
大多数文档都提到如何将功能添加到您自己的模型中,但是
ContentType
已经支持它们,因此只需添加--natural-foreign
到您的dumpdata
管理命令:Use natural keys: https://docs.djangoproject.com/en/dev/topics/serialization/#natural-keys
Most of the documentation refers to how to add the capability to your own models, but
ContentType
already supports them so just add--natural-foreign
to yourdumpdata
management command: