【发布时间】:2017-05-03 16:38:32
【问题描述】:
我有一个模型,它有用户作为外键。当我登录后在管理员中查看时,显示所有用户。我想根据登录列表的用户来控制它应该显示。
我怎样才能做到这一点,以便如果用户 1 登录我可以看到不同的列表,如果用户 2 登录不同的列表。
【问题讨论】:
标签: django python-2.7 django-admin
我有一个模型,它有用户作为外键。当我登录后在管理员中查看时,显示所有用户。我想根据登录列表的用户来控制它应该显示。
我怎样才能做到这一点,以便如果用户 1 登录我可以看到不同的列表,如果用户 2 登录不同的列表。
【问题讨论】:
标签: django python-2.7 django-admin
你可以使用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查看这个方法
【讨论】: