将 Django Fixtures 加载到 MySQL 时,可能会遇到与内容类型相关的冲突。尝试从特定应用程序转储数据,例如:
./manage.py dumpdata escola > fixture.json
可能会导致丢失外键问题。要解决此问题,您可以包含其他应用程序,从而使用如下命令:
./manage.py dumpdata contenttypes auth escola > fixture.json
但是,这可能会导致在将数据加载为测试夹具时出现约束违规错误。 Django 可能会尝试使用不同的主键值重新创建内容类型,这与固定装置中的内容类型相冲突。
要解决此问题,请考虑将 --natural 参数与 dumpdata 一起使用。此选项使用自然键(例如 Permission.codename 而不是 Permission.id)来表示外键。这可以确保持久性并避免潜在的冲突。
以下是一些增强转储数据使用的附加参数:
以上是在 MySQL 中加载 Django Fixtures 时如何解决 ContentType 冲突?的详细内容。更多信息请关注PHP中文网其他相关文章!