2009-08-27 20 views
11

Model sınıflarını farklı dosyalara bölmenin birçok django'nun yerleşik işlevlerini kırdığını öğrendim.Neden django, tüm model sınıflarını models.py içinde olmasını zorunlu kılıyor?

Bir java arka planından geliyorum. Orada, çok uzun sınıf dosyaları yazarken iyi bir uygulama olarak kabul edilmez. Ancak django'nun tüm model sınıfları için tek bir dosyanın uygulanması muhtemelen programcının çok uzun model.py dosyaları yazmasına neden olacaktır. Bu, programcının tüm alan modelinin organizasyonunu görmesini zorlaştıracaktır.

Peki, django neden tek bir dosyayı tüm etki alanı sınıflarını içerecek şekilde zorlar?

Bu soruna ilişkin kayıt defterini a solution proposal buldum. Fakat bunun düzgün çalışıp çalışmadığından emin olamam. Bu çözümü önerir misin?

+0

Bağlantınız kesildi. Lütfen günceller misiniz? – Gabriel

+0

Olası kopya [model.py'yi devirmek, onu kırmanın en iyi yolu nedir?] (Http://stackoverflow.com/questions/1160579/models-py-getting-huge-what-is-the-best -buradan-geç-it-up) – Ajoy

cevap

7

Tek isim alanı: evet. Tek modül: hayır.

Modelleriniz, appname.models numaralı ad alanından ithal edilebilir niteliktedir.

+0

Bu cevabın muhtemelen bu sorunun doğru cevabı olduğunu düşünüyorum, ama kesinlikle daha açık bir şekilde yapılmasını sağlayabilir. Temel olarak, diğer modüllerdeki tüm modelleri içe aktarmak için 'appname.models' gereksinimine iner. Bu davranışın neden veya nerede belgelendiğinin bir açıklaması yararlı olacaktır. – SpoonMeiser

+0

Benzer şekilde, neden 'appname.models' sadece diğer modelleri tanımlayan modüllerin yeterli olmasını gerektirmiyor? Mutlaka gerekli metaclass sihrini tetikler mi? Değilse neden? – SpoonMeiser

İlgili konular