不同权限用户只看到和修改自己的用户信息

来源:14-7 自定义404、500页面

hyn20

2020-04-14

bobby老师您好!

我想实现学生、老师、家长不同用户组,登录填写自己的信息,每个用户只看到自己的。
使用了如下方法,可以实现区分,但某学生信息被超级用户修改保存后,就会变成超级用户的信息(user被改变了),该学生就看不到自己的了,这个问题有办法解决吗?
谢谢。

def queryset(self):
    qs = super(StudentInfoXadmin, self).queryset()
    if self.request.user.is_superuser: # 超级用户可查看所有数据
        return qs
    else:
        return qs.filter(user=self.request.user)    
写回答

2回答

bobby

2020-04-16

你可以重新覆盖perform_create或者update方法 当某个数据被修改后你重新把user设置为当前用户

0
0

hyn20

提问者

2020-04-14

还有就是,怎样实现同一个信息让老师修改,学生只能查看?

0
0

Django+ xadmin 开发在线教育网站

一套通用的技术组合拳,助你解决大部分Python类网站后端问题

1911 学习 · 2149 问题

查看课程