Py学习  »  Django

在django中测试时的模型创建顺序?

Hanny • 5 年前 • 605 次点击  

我有这两个模型(示例),当我试图运行测试时,它会错误地说: no such table: my_app_modelA -如果我向上滚动,我可以看到它在创建 modelB (我认为是由于 default 正在应用)。有办法订这些吗 modelA 总是会在 小精灵 ?或者我不应该将该方法引用为默认属性?只是想让我的测试工作,这是我的症结所在。

我的模特看起来是这样的:

class modelA(models.Model):
    attribute = models.IntegerField()
    active = models.BooleanField(default=False)

    @classmethod
    def get_active_attribute(cls):
        return modelA.objects.get(active=True).attribute

class modelB(models.Model):
    attribute = models.IntegerField(default=modelA.get_active_attribute())

我的问题是:

  • 这是一个可以接受的事情-让默认调用另一个模型方法?

  • 有没有办法处理这些模型的创建,我可以保证 模特儿 先创建,所以 模型B 能否在我的测试中成功创建?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/46007
 
605 次点击  
文章 [ 1 ]  |  最新文章 5 年前