2012-05-12 62 views
20

Czy można grupować modele z różnych aplikacji w jeden blok administracyjny?Modele grupowe z różnych aplikacji/obiektów w jednym bloku administracyjnym

Na przykład, moja konstrukcja jest

project/ 
    review/ 
    models.py - class Review(models.Model): 
    followers/ 
    models.py - class Followers(models.Model): 
    admin.py 

W followers/admin.py wzywam

admin.site.register(Followers) 
admin.site.register(Review) 

To jest pogrupowanie ich w środku 1 blok administratora administratorzy mogą łatwo znaleźć rzeczy.

Próbowałem, ale model Review nie wyświetla się wewnątrz bloku administracyjnego Followers i nie mogłem znaleźć dokumentacji na ten temat.

Odpowiedz

36

Grupy administratorów Django Modele do blokowania administratora według ich aplikacji, które są zdefiniowane przez Model._meta.app_label. W ten sposób rejestracja Review w followers/admin.py nadal jest dostępna dla aplikacji review.

Więc dokonać proxy model z Review i umieścić go w „test” app

class ProxyReview(Review): 
    class Meta: 
     proxy = True  
     # If you're define ProxyReview inside review/models.py, 
     # its app_label is set to 'review' automatically. 
     # Or else comment out following line to specify it explicitly    
     # app_label = 'review' 

     # set following lines to display ProxyReview as Review 
     # verbose_name = Review._meta.verbose_name 
     # verbose_name_plural = Review._meta.verbose_name_plural 


# in admin.py 
admin.site.register(ProxyReview) 

Również można umieścić Followers i Review do samej aplikacji lub zestawu samym app_label dla nich.

Dostosuj widok administratora lub użyj panelu 3-częściowego może osiągnąć również cel.

Powiązane problemy