Django'da models.py'ye model sınıfı eklerken, neden tanımladığımız alan değişkenleriyle kendimizi kullanmıyoruz? Kendi alan değişkenlerini kullanmamaları, onların yerine sınıf değişkenleri yaparlar.Django Modeli sınıflarında kendini kullanma
cevap
Django, sağladığınız sınıf tanımına göre gerçek sınıfı oluşturmak için metaclasses kullanır. Özetle, model sınıfınızın somutlaştırılması üzerine, meta sınıf, model alan tanımlarınızdan geçecek ve uygun niteliklere karşılık gelen bir sınıf döndürecektir.
Sorunuzu doğrudan yanıtlamak için, örnek değişkenler yerine (object.self
) sınıf değişkenleri kullanmak, meta sınıfın, sınıf özniteliklerini ilk kez başlatmaya gerek kalmadan denetlemesine olanak tanır.
, the source bir göz ve aşağıdaki belgeler vardır:
Yaklaşık 4 yıl önce kendime benzer bir soru sordum, bu yüzden 'django/db' kodunun içine girdim. Çeşitli seviyelerde aydınlatıcıydı; metaclass kullanımında bir Master Sınıfı. –
- 1. Temel sınıflarında std :: enable_shared_from_this kullanma
- 2. Erişme modeli alan Django
- 3. Django modeli: BOŞLUK alan
- 4. Django modeli polimorfizmi
- 5. Django tastypie: orta modeli
- 6. Django modeli nesne
- 7. Django yönetici modeli
- 8. Django modeli alan değildir
- 9. Django Kullanıcı modeli, işlev ekleme
- 10. Django Modeli - farklı değer listesi
- 11. Basit Django modeli andıran var
- 12. Django Form Sihirbazı Modeli Düzenle
- 13. es6 sınıflarında kitaplık modelleri yazma
- 14. En son OpenGL işlevlerini Qt sınıflarında kullanma 5.4
- 15. Django dışındaki Modelleri ve Formları Kullanma?
- 16. django şablonunda JSON kullanma
- 17. R referans sınıflarında
- 18. Python sınıflarında genel değişkenler?
- 19. R6 sınıflarında statik yöntemler
- 20. ; Django Sahte nesnelerle kendini başvuran FKs test django tipik çalışma zamanı hatası alıyorum
- 21. ASP.NET MVC - Özel HTML Yardımcısı'nda Modeli Kullanma
- 22. Bir EAV veri modeli ile NHibernate'i kullanma
- 23. Açısal modeli işlev parametresi olarak kullanma
- 24. Farklı gerekli özelliklere sahip modeli yeniden kullanma
- 25. django-kayıt uygulaması ve Django 1.5 özel kullanıcı modeli
- 26. Django özel kullanıcı modeli ilişki "auth_user"
- 27. Django modeli: Filtreleme kullanıcı tarafından daima
- 28. Django modeli devralma: Mevcut süper sınıf
- 29. Django AssertionError ben özel kullanıcı modeli yönetici
- 30. bir Django modeli, bir metaclass çatışmayı
... ne? Ne demek istediğinin birkaç örneğini ekleyebilir misin? Çünkü seni takip ettiğimden emin değilim ... – eternicode