一旦在Django的应用程序的初始化,之前的PostgreSQL数据库已经建立,如果试图获取/所有/创建一个对象,他们通常会看到这样的错误:避免Django的DatabaseError关系“模式”并不存在
>>> Model.objects.all()
{StackTrace}
...
DatabaseError: relation "model" does not exist
...
在我的应用我想能够测试模型是否存在,如果存在运行的代码,这可能使用Django?
伪代码:
if not (table_exists(model))
return
my_models = Model.objects.all()
...
在什么情况下你会是在创建表之前运行的应用程序? –
我想解决的问题实际上是因为我在'model/__ init__.py'中运行了一个需要模型的例程,创建了一个依赖循环。我没有意识到,Django运行'installed_apps'中列出的每个模型,该模型正在调用__init__.py代码。 –