【问题标题】:django.core.exceptions.AppRegistryNotReady: Models aren't loaded yetdjango.core.exceptions.AppRegistryNotReady:模型尚未加载
【发布时间】:2015-11-12 18:17:18
【问题描述】:

在 Django 1.7 中,此代码导致 django.setup() 出现错误:

class MyModel(models.Model):
    special_foo=Foo.objects.filter(name__contains='special')

就我而言,我得到了这个:

django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.

但我在 django.setup() 中也看到了递归错误,试图再次运行 django.setup()

【问题讨论】:

    标签: python django orm initialization django-orm


    【解决方案1】:

    我用类级别的属性解决了这个问题。

    class MyModel(models.Model):
    
        @classproperty
        def special_foo(cls):
            return Foo.objects.filter(name__contains='special')
    

    不幸的是,python 尚不支持 @classproperty 开箱即用。

    我使用了这里的实现 https://stackoverflow.com/a/5191224/633961

    【讨论】:

      猜你喜欢
      • 2016-03-11
      • 2014-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-04
      • 2016-09-26
      • 2016-01-08
      • 2016-08-22
      相关资源
      最近更新 更多