RuntimeError:模型类nasal.util.C没有声明显式的app_label

时间:2018-10-12 16:51:53

标签: django nose

仅当我运行单元测试时,是什么导致django应用程序中出现此错误?为什么认为nose.util.C是模型?

  

RuntimeError:模型类nasal.util.C没有声明显式的app_label,或者不在INSTALLED_APPS的应用程序中,或者在加载其应用程序之前被导入。

1 个答案:

答案 0 :(得分:0)

您可能有一个名称为Test的模型。鼻子包裹了类并混淆了Django。

jwhitlock on github explains,

  

我目前的猜测是,鼻子检测到它认为应该运行测试的模型类-可能是因为它被命名为Test,TestFoo或FooTest,并且将其包装在plantation_class中,这使Django的模型加载器感到惊讶。在这种情况下,如果您重命名该类,不执行Python路径操作或添加__test __ = False类声明,则可能会起作用。

另一种选择是使用@nottest中的nose.tools装饰类:

from nose.tools import nottest

@nottest
class Testacean(Model):
    ...