我有一个用于在我的django web-app中管理配置的应用程序(某些用户可以更改配置)。 现在,我试图仅显示用户可以更改的配置(基于组),而不是我应用中可用的所有配置。
我想更改django admin的以下部分,并仅显示用户可以更改的配置。
用户"管理员"我想显示应用程序中可用的所有配置,但是对于用户" User1" (group =" group1")我想显示一些设置。
是否有任何方法可以覆盖django app的这一部分?
答案 0 :(得分: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)