Django Admin Custom按管理员中的用户选择框

时间:2016-12-18 13:35:31

标签: django python-2.7 django-admin

我有一个模型,其中User为外键。当我在登录后在管理员中查看时,显示所有用户。我想根据登录列表中的用户来控制它。

如何实现这一点,以便如果user1登录我可以看到不同的列表,如果user2登录不同的列表。

1 个答案:

答案 0 :(得分:0)

您可以使用get_form方法:

class MyModelAdmin(admin.ModelAdmin):
    def get_form(self, request, obj=None, **kwargs):
        form = super(MyModelAdmin, self).get_form(request, obj, **kwargs)
        form.fields['your_fk_field'].queryset = YourModel.objects.filter(user=request.user)
        return form

django docs

中查看此方法