Django 固定装置和 ContentType 问题
尝试将 Django 固定装置加载到 MySQL 数据库中可能会导致内容类型冲突。从特定应用程序转储数据最初会导致丢失外键问题,因此需要在转储命令中包含其他应用程序。但是,由于内容类型的主键冲突,使用此方法加载固定装置会遇到约束冲突。
这种情况源于 Django 尝试使用与固定装置中存在的主键值不同的主键值动态重新创建内容类型。正如 Django 的错误跟踪系统中所建议的,解决方法是从内容类型应用程序中转储数据。
但是,如果定义了自定义模型权限,则推荐的解决方案将变得有问题。要解决此问题,建议在 dumpdata 命令中使用 --natural。此选项使用自然键作为外键,从而增强了耐用性。
这是演示此方法的示例:
./manage.py dumpdata --natural escola > fixture.json
此外,还有其他可以与 dumpdata 一起使用的有用参数,包括:
以上是如何解决加载到 MySQL 时 Django Fixture ContentType 冲突?的详细内容。更多信息请关注PHP中文网其他相关文章!