我有一个应用程序,它集成了django-invitation的分叉版本,它修改了原始模型。因此,它需要使用south来迁移现有数据库。
问题:
如果我使用新数据库全新安装我的应用程序,当初始syncdb发生并创建超级用户时,django-invitation应用程序会收到user_post_save信号并尝试创建一个invitation_user ...因为它是一个南部应用程序,它的数据库表尚未构建,当然会触发数据库错误。
处理此问题的推荐方法是什么?
想法1)在尝试保存之前检查数据库中是否存在表,但是每次创建用户时都需要额外的数据库命中。
想法2)
Try:
invitation_user.save()
except:
from django.db import connection
connection.close()
是否必须有更好的方法......
答案 0 :(得分:0)
由于没有人插话,我想最好的办法就是按照我原来的想法#2:
Try:
#code that could fail on new database creation here
except OperationalError:
from django.db import connection
connection.close()
自从我原来的问题以来,我一直在测试它,它看起来效果很好。