2017-05-24 10 views
0

私のdjango web-appで設定を管理するためのアプリがあります(一部のユーザーは設定を変更できます)。 今私は(グループに基づいて)ユーザーが変更できる設定だけを表示しようとしていますが、私のアプリで利用可能なすべての設定は表示されません。Django Override Adminグループでカスタムデータをオーバーライドする

私はdjango管理者の以下の部分を変更し、ユーザーが変更できる設定のみを表示したいと思います。

enter image description here

ユーザー「admin」の例私はアプリで利用可能なすべての設定を表示したいのですが、ユーザー「ユーザー1」(グループ=「GROUP1」)のために、私はいくつかの設定を表示したいです。

djangoアプリのこの部分をオーバーライドする方法はありますか?

+0

何?なんでしょう?それは不明だ – aliva

+0

申し訳ありませんが、私はエラーのための質問を送った、より多くの情報を追加:D – Mattia

答えて

1

あなたの質問にモデルgroups = models.ManyToManyField(Group)内のグループフィールドが必要になり、その後、あなたはModelAdminのでget_serch_resultsを上書きすることができます。

例:

class QuestionAdmin(admin.ModelAdmin): 
    list_display = ('question','otherfield') 

    def get_search_results(self, request, queryset, search_term): 
     queryset, use_distinct = super().get_search_results(request, queryset, search_term) 
     filtered_by_group = queryset.filter(groups__in=request.user.groups.all()) 
     return filtered_by_group, use_distinct 


admin.site.register(Question, QuestionAdmin)   
+0

ありがとう男、それは完璧に動作:) – Mattia

関連する問題