2010-01-13 9 views
2

Est-il possible d'importer des modèles d'applications dans différents projets Django?Comment importer des modèles dans d'autres projets dans Django

J'espère pouvoir déplacer certains modèles courants dans un projet de base à partir duquel chaque projet enfant peut partager les mêmes données dans ces modèles communs.

Modifier

Je dois placer

from baseproject.appname.models import basemodel 

avant

os.environ['DJANGO_SETTINGS_MODULE'] = 'childproject.settings' 
from django.conf import settings 

dans le projet d'enfant à accéder correctement les données dans le modèle de base.

Répondre

2

Oui. Vous pouvez transformer une application spécifique au projet en un package Python standard en la déplaçant vers site-packages (ou partout où votre installation Python attend ses modules) et en interrompant les liens vers d'autres applications du projet. Vous pouvez ensuite l'importer comme n'importe quel module Python, dans n'importe quel projet.

+0

Hi Ignacia, le projet de base est déjà installé dossier de paquets de site. La déclaration d'importation "from baseproject.app.models import basemodel" fonctionne mais quand j'ai essayé d'accéder aux données dans basemodel, elle continue à afficher "Table childproject.baseproject_basemodel n'existe pas". – jack

+0

Il n'est pas nécessaire de mettre l'ensemble du projet dans des paquets de site, juste l'application. Avez-vous pensé à l'ajouter à INSTALLED_APPS et à faire une syncdb? –

+0

@Ignacio, je viens de trouver la raison. – jack

Questions connexes