2010-01-07 19 views
7

Başka bir uygulamanın içine bir uygulama koymaya çalıştım (Dış taraf, iç tarafa doğru bir cephedir, bu yüzden onları bu şekilde bulmak mantıklıdır) ve bu iç uygulamadaki model için bir tablo oluşturmaz. Bu normal mi? (uygulama yüklenir ve yönetici ile kayıtlı)Django: Başka bir uygulamanın alt klasöründe bir uygulama yapabilir miyim?

+2

Emin değilim, ancak eklemeniz gerekebilir. iç uygulama, 'INSTALLED_APPS' olarak 'external_app_name.inner_app_name' olarak listelenir. –

+0

Yea, işe yarıyor. Ben bir sözdizimi hatası vardı, neden çalışmadı, ama id, syncdb sırasında hatayı yakalamadı. – orokusaki

cevap

5

Django, INSTALLED_APPS ayarında her paketin models modülünü içe aktararak modelleri yükler. Örneğin, ('django.contrib.admin', 'django.contrib.comments', 'spam.ham', and 'eggs') numaralı INSTALLED_APPS ayarında, Django modelleri django.contrib.admin.models, django.contrib.comments.models, spam.ham.models ve eggs.models'dan içe aktarır.

Yalnızca dış uygulamanızı INSTALLED_APPS numaralı telefondan listeliyorsanız (bunun eggs adlı olduğunu varsayalım), daha sonra yalnızca eggs.models modellerinden içe aktarılıyor ve oluşturuluyor. İç uygulamanızdan yüklenen modelleri almak için, eggs.inner_app gibi INSTALLED_APPS'a da eklemeniz gerekir, böylece eggs.inner_app.models içe aktarılır. (Yabancı anahtarları kolaylaştırmak için, eminim ki bir uygulamadan diğerine models.py dosyasındaki modelleri içe aktarırsanız, sadece taranan models.py dosyasında tanımlanan modeller oluşturulur.)

İlgili konular