开发者社区> 问答> 正文

在Django中加载灯具时内容类型出现问题?mysql

由于内容类型冲突,我无法将Django固件加载到我的MySQL数据库中。首先,我尝试仅从我的应用程序中转储数据,如下所示:

./manage.py dumpdata escola > fixture.json 但由于我的应用程序“ escola”使用了其他应用程序中的表,所以我一直没有遇到外键问题。我一直在添加其他应用程序,直到我明白了:

./manage.py dumpdata contenttypes auth escola > fixture.json 现在的问题是,当我尝试将数据加载为测试装置时,违反了以下约束条件:

IntegrityError: (1062, "Duplicate entry 'escola-t23aluno' for key 2") 看来问题在于Django正在尝试动态创建具有与夹具中的主键值冲突的不同主键值的内容类型。这似乎与此处记录的错误相同:http : //code.djangoproject.com/ticket/7052

问题是建议的解决方法是转储我已经在做的contenttypes应用!是什么赋予了?如果有什么不同,我确实有一些自定义模型权限,如此处记录:http : //docs.djangoproject.com/en/dev/ref/models/options/#permissions

展开
收起
保持可爱mmm 2020-05-17 13:05:59 445 0
1 条回答
写回答
取消 提交回答
  • manage.py dumpdata --natural将使用更持久的外键表示。在Django中,它们被称为“自然键”。例如:

    Permission.codename 被用来支持 Permission.id User.username 被用来支持 User.id 阅读更多:“序列化django对象”中的自然键部分

    其他一些有用的参数dumpdata:

    --indent=4 使它易于阅读。 -e sessions 排除会话数据 -e admin 排除管理员网站上管理员操作的历史记录 -e contenttypes -e auth.Permission排除期间每次从架构自动重新创建的对象syncdb。请仅将其与一起使用--natural,否则可能会导致ID编号不一致。来源:stack overflow

    2020-05-17 13:11:29
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像