我为我的模型添加了新权限,而不是使用 manage.py makemigrations 。它创建了一个迁移,改变了模型选项(特别是permisions ..)。
之后,我添加了一个依赖于第一次迁移的迁移,并使用了该权限(我相信第一次迁移已创建)。 迁移在查询auth_permissions的RunSQL操作中使用了该权限。
当我调试迁移时 - 我意识到只有在应用了所有迁移后才会插入到auth权限。
含义 - 当我尝试查询权限的ID以便在第二次迁移中使用它时 - 它不存在,因此第二次迁移的行为不符合预期。
知道为什么会这样,以及如何预防? 我在添加新权限时的假设是,它将添加django为我创建的迁移...而不是在不同的阶段。
谢谢!