如何在一个应用程序中使用多个模型?

时间:2013-10-24 07:49:50

标签: django models

我有一个django项目,包含两个应用程序experimentsmetadata,在一个视图中,我需要使用这两个应用程序中的模型,所以我有这个:

from experiments.models import *
from metadata.models import *

我的应用程序都有一个同名的模型;那么如何在一个应用程序中使用两个模型?

2 个答案:

答案 0 :(得分:3)

from experiments import models as exp_models
from metadata import models as meta_models

foo = exp_models.Foo.objects.all()
bar = meta_models.Bar.objects.all()

顺便说一下。 from module import *被视为不良做法,它会破坏您的命名空间。

答案 1 :(得分:1)

假设experiments/models.py你有:

class Foo(models.Model):
    name = models.CharField(max_length=200)

metadata/models.py你也有:

class Foo(models.Model):
    name = models.CharField(max_length=200)

现在你想要同时使用它们,你可以像这样导入它们:

from metadata.models import Foo as meta_foo
from experiments.models import Foo as experiment_foo