2010-01-13 66 views
2

是否可以從不同的Django項目中的應用程序導入模型?如何在Django的其他項目中導入模型

我希望在基礎項目中移動一些常見模型,從這些項目中,每個子項目都可以在這些常見模型中共享相同的數據。

編輯

我必須把在

from baseproject.appname.models import basemodel 

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

子項目正確訪問基礎模型中的數據。

回答

2

是的。您可以將項目特定的應用程序轉換爲標準Python包,方法是將其移至site-packages(或者您的Python安裝期望其模塊的任何位置),並將其從項目中的任何其他應用程序中的任何鏈接中斷。然後,您可以像任何Python模塊一樣在任何項目中導入它。

+0

嗨Ignacia,基地項目已經安裝site-packages文件夾。導入語句「from baseproject.app.models import basemodel」起作用,但是當我嘗試訪問basemodel中的數據時,它繼續顯示「Table childproject.baseproject_basemodel does not exist」。 – jack 2010-01-13 06:52:46

+0

沒有必要把整個項目放在網站包中,只是應用程序。你是否記得將它添加到'INSTALLED_APPS'並執行syncdb? – 2010-01-13 06:57:50

+0

@Ignacio,我剛剛找到原因。 – jack 2010-01-13 07:05:37

相關問題