【发布时间】:2011-10-24 15:48:54
【问题描述】:
我有一个 managed = False 的模型。
class SampleModel(models.Model):
apple = models.CharField(max_length=30)
orange = models.CharField(max_length=30)
class Meta:
managed = False
我有一个创建 SampleModel 的单元测试,但是当我运行测试时,我得到:
DatabaseError: no such table: SAMPLE_SAMPLE_MODEL
django 文档 - https://docs.djangoproject.com/en/dev/ref/models/options/#managed 记录了以下内容:
对于涉及 managed=False 的模型的测试,您可以自行决定 确保在测试设置中创建了正确的表。
如何在测试设置期间实际“创建”表?或者,我怎样才能使它在我运行测试时,这个模型在测试期间具有“managed = True”?
在实际应用中,这个模型实际上是由数据库中的一个视图支持的。但是在测试期间,我想把它当作一个表格,并能够在其中插入测试数据。
【问题讨论】:
标签: python django unit-testing