Django RelatedObjectDoesNotExist在模型清理方法中,但仅在测试时

时间:2019-04-22 16:58:47

标签: django django-models django-testing

我有一个非常奇怪的行为,该函数在应用程序中可以正常工作,但是在测试环境中调用时会引发异常。

我有这个带有干净方法的模型类:

ClassA.h

这在创建新模型实例或更新模型实例时都可以在应用程序上很好地工作。

但是当我使用POST提交测试视图时,会发生以下错误:

ClassB.m

这是测试:

ClassA.m

此外,这是视图:

def clean(self):
    self._check_subcategory_consistency()
    # other checks
    # ...

def _check_subcategory_consistency(self):
    # checks if the subcategory belongs to the category specified
    if self.subcategory.category != self.category:
        raise ValidationError({'subcategory' : 'this field does not belong to the correct category'})

该表单只是常规表单,没有覆盖方法。

因此,总而言之,仅在测试中出现的错误不一致是很奇怪的。

有人知道为什么会这样吗?也许测试的行为与应用程序不同?

任何帮助将不胜感激。

0 个答案:

没有答案