两者都在较高层次上起作用,但是,这是用于创建测试对象的首选方法,为什么?
说明:出于测试目的,即测试在model
文件中创建的test_models.py
第一种方式:
使用@classmethods
class AuthorModelTest(TestCase):
@classmethod
def setUpTestData(cls):
Author.objects.create(first_name="Big", last_name="Bob")
第二种方式:
或者传递self
而不是引用class
class AuthorModelTest(TestCase):
def setUpTestData(self):
Author.objects.create(first_name="Big", last_name="Bob")
答案 0 :(得分:1)
它在AudioModel.find({ _id: { $in: playlist}})
中定义为类方法,因此您应该在代码中执行相同的操作。也许这两个版本现在都可以使用,但是在Django的将来版本中,它可能会破坏您的代码与Django的兼容性。您可以检查documentation。
类方法TestCase.setUpTestData(): 上述的类级原子块允许创建 类级别的初始数据,一次用于整个TestCase。
只需遵循docs中的示例:
TestCase