2016-03-30 13 views
0

Arşivleme yapmaya çalıştığım modeller, kayıtlı tüm modellerin listelendiği varsayılan yönetici görünümü sayfasında, sayılar gibi modeller hakkında dinamik bilgiler veriyor. Ben gibi, son derece hackish şekilde şimdi yapYönetici sitesinde modele genel bakışta Django dinamik ad değerleri

:

class x(object): 
    def __unicode__(self, *args, **kwargs): 
     return u"Items (%i items)" % SteamItem.objects.count() 
class Item(models.Model) 
    ... 
    class Meta: 
     verbose_name_plural = x() 

yönetici şablonu düzenlemek zorunda kalmadan daha hoş bir şekilde aynı yapmanın bir yolu var mı?
Yönetici şablonunu düzenlemek, aramamın başlatılacağı bazı ipuçlarını takdir etmenin tek yoludur.

cevap

1

django admin code'a göz atarak maalesef model sınıfının şablon bağlamına geçilmediğini öğrendim - böylece nesne sayımı için kolayca sorgulayamıyorsunuz. Ya her model için şablona geçti geçerli:

model_dict = { 
    'name': capfirst(model._meta.verbose_name_plural), 
    'object_name': model._meta.object_name, 
    'perms': perms, 
} 

Ne yapabilirdi modeli sınıfını kendisi dahil etmek AdminSite._build_app_dict geçersiz olduğunu kullanılarak varsayılan dizin şablon ve şablon içinde yalnızca sorgu geçersiz:

{{ model_class.objects.count }} 

Varsayılan şablon admin/index.html şeklindedir, ancak yukarıda belirtilen sınıfta görebileceğiniz gibi yönetici sitesi temelinde yapılandırılabilir.