gpt4 book ai didi

python - Django South Migration 第一次不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 14:27:33 24 4
gpt4 key购买 nike

我正在运行南迁移 python manage.py syncdb; python manage.py migrate --all 在新数据库上运行时会中断。但是,如果您运行它两次,它就可以正常运行!第一次尝试,我得到了

DoesNotExist: ContentType matching query does not exist. Lookup parameters were {'model': 'mymodel', 'app_label': 'myapp'}

失败后,我进入数据库 select * from django_content_type 但果然有

13 | my model     | myapp      | mymodel  

然后我运行迁移 python manage.py syncdb; python manage.py migrate --all 成功了!

那么我是如何设法进行仅在第二次运行时有效的迁移的呢?顺便说一下,这是一个数据迁移,它将适当的组放入管理应用程序中。迁移中的以下方法正在破坏它:

@staticmethod
def create_admin_group(orm, model_name, group_name):
model_type = orm['contenttypes.ContentType'].objects.get(app_label='myapp', model=model_name.lower())
permissions = orm['auth.Permission'].objects.filter(content_type=model_type)
group = orm['auth.Group']()
group.name = group_name
group.save()
group.permissions = permissions
group.save()

(迁移文件来自现有的工作项目,这意味着很久以前我已经运行过 schemamigration --initial。我只是想将数据库模式和初始数据复制到新数据库中。)

最佳答案

事实证明这是南方的一个错误。

http://south.aeracode.org/ticket/1281

关于python - Django South Migration 第一次不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17705914/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com