2013-10-24 53 views
1

我有兩個應用程序,experimentsmetadata並在一個視圖中我需要從這兩個應用程序模型的工作一個Django項目,所以我有這樣的:如何在一個應用程序中使用多個模型?

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

我的兩個應用程序具有相同的模型名稱;那麼如何在一個應用程序中使用兩個模型?

回答

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() 

Btw。 from module import *被認爲是不好的做法,它混亂你的名字空間。

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 
+0

它的工作原理!謝謝! – CrackyCat

相關問題