コード例 #1
0
ファイル: adminx.py プロジェクト: htyangya/scwork
class Notifyadmin(Baseadminmodel):
    list_display = [
        'nfrom', 'recipient', 'status', 'verb', 'msg', 'actor', 'target',
        'unread', 'timestamp', 'readedstamp'
    ]
    list_filter = Notification.get_fields()
    admin_show_field = ['nfrom', 'target']
    list_editable = ['unread']

    def queryset(self):
        qs = super(Notifyadmin, self).queryset()
        if not self.user.is_superuser:
            qs = qs.filter(nfrom=self.user)
            for field in self.admin_show_field:
                if field in self.list_display: self.list_display.remove(field)
        return qs

    def get_list_queryset(self):
        qs = super().get_list_queryset()
        return qs.myprefetch_related('actor', 'target')