0
在我的django项目中,我有几个通过FK相互关联的模型。Django管理外键过滤字段
School
---
id
name
Account
---
id
user_id
school_id
status
内Django管理站点我想账户页面进行过滤,只显示具有相同的学校ID作为员工用户所浏览的网站账户。
class AccountAdmin(admin.ModelAdmin):
list_display = ('user', 'status', email, 'get_school', 'created')
search_fields = ('user__username',)
list_filter = ('status',)
def get_school(self, obj):
return obj.school.name
get_school.short_description = 'School'
# Display all if superuser, otherwise only show same school accounts
def queryset(self, request):
qs = super(AccountAdmin, self).queryset(request)
if request.user.is_superuser:
return qs
return qs.filter(school_id=2)
正如你可以看到我设法让它过滤正确,如果我硬编码school_id在那里。但是,我正在努力获得当前的职员用户学校ID。我把自己弄糊涂了。
该诀窍。非常感谢Bayard! –