2012-05-12 20 views
20

Có thể nhóm các mô hình từ các ứng dụng khác nhau thành 1 khối quản trị viên không?Mô hình nhóm từ ứng dụng/đối tượng khác nhau vào một khối Quản trị

Ví dụ, cấu trúc của tôi là

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

Trong followers/admin.py, tôi gọi

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

Điều này là để nhóm chúng lại bên trong 1 khối quản trị cho các quản trị viên để tìm những thứ dễ dàng.

Tôi đã thử điều đó, nhưng mô hình Review không hiển thị bên trong khối quản trị Followers và tôi không thể tìm thấy tài liệu về điều này.

Trả lời

36

Nhóm quản trị Django Các mô hình cho quản trị viên chặn bởi ứng dụng của chúng được xác định bởi Model._meta.app_label. Do đó, việc đăng ký Review trong followers/admin.py vẫn nhận được ứng dụng review.

Vì vậy, hãy một proxy model của Review và đặt nó trong 'xem xét' ứng dụng

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) 

Ngoài ra, bạn có thể đặt FollowersReview để cùng ứng dụng hoặc thiết lập cùng app_label cho họ.

Tùy chỉnh chế độ xem quản trị hoặc sử dụng trang tổng quan thứ 3 có thể cũng đạt được mục tiêu.

Các vấn đề liên quan