2013-10-24 4 views
1

У меня есть Джанго проект с двумя приложениями, experiments и metadata и в одной точке зрения мне нужно работать с моделями из обоих этих приложений, так что у меня есть это:Как использовать несколько моделей в одном приложении?

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

КПП. 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

Смежные вопросы