我有所有对象(不仅是我的应用程序)的 post_save 信号,我在其中创建了一个 SignalInfo (该模型来自我的应用程序)对象,将有关创建/编辑对象的信息放入其中并保存。在我开始使用南迁移之前,它运行良好。

问题是,当我现在执行 syncdb 时,我的应用程序的表没有创建(它们将在 ./manage.py migrate 之后),但是在 auth.permission 期间正在创建像 syncdb 这样的新对象,我的信号尝试创建 SignalInfo 对象,但它不能,因为表因为我的应用程序还没有准备好,我有 DatabaseError。

我怎样才能让它工作?

最佳答案

您可以将 SignalInfo 创建代码包装在 try...except 块中,这样错误就不会干扰。唯一的副作用是 syncdb 创建的初始模型不会有 SignalInfo 对象与之关联。

关于Django post_save 和南迁移,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9227492/

10-10 19:31