Django DatabaseError - 调试的最佳方法是什么?

时间:2011-09-06 14:51:35

标签: database django admin

我在使用django数据库(postgresql后端)时遇到了一些麻烦。项目中有一个模型(用户配置文件),里面有一些样板文件。这已经在我们的项目中停留了一段时间,没有被使用。我实际上需要这个,所以我调整了模型并创建了一些与South的初始迁移。在我的开发盒上,我删除了整个数据库和syncdb'ed并进行了迁移。这很好。

当我将其推向生产时,我手动删除了postgresql和syncdb'ed中的旧表并进行了迁移。但是,在我的管理界面中,会引发DatabaseError,因为某些函数正在旧模型上查找字段。我甚至已经删除了整个postgresql数据库并再次syncdb'ed / migrated,这仍然会发生。违规字段称为性别(不是我创建的字段)。迁移工作,数据库结构反映了我的模型,但由于某种原因,管理界面想要找到这个(不存在的)性别字段。这是错误:

DatabaseError:列user_profiles.gender不存在第1行:...“user_profiles”。“id”,“user_profiles”。“user_id”,“user_prof ...

我理解这似乎是特定于网站的,但也许我可以得到一些关于如何调试它的指示?

由于

1 个答案:

答案 0 :(得分:1)

如果我了解您的问题,您的当前代码不应再包含对“性别”的引用,因为旧代码已被删除。尝试找到仍然包含它的源文件:

find your-dir -name '*.py'|xargs grep gender

或者有一个pyc文件,但删除了py文件。但是Python仍然加载了pyc文件....

如果这没有用,请发布ascii traceback。