我有两个超级用户(const films = [{name: 'Ant-Man and the Wasp',genre: ['Action' , 'Adventure' , 'Sci-Fi' , 'Comedy']},{name: 'Sorry to Bother You',genre: ['Comedy' , 'Fantasy']},{name: 'Jurassic World: Fallen Kingdom',dependencies: ['Action' , 'Adventure' , 'Sci-Fi'],},{name: 'Incredibles 2',dependencies: ['Action' , 'Crime' , 'Drama' , 'Thriller']},{name: 'Deadpool 2',dependencies: ['Action' , 'Adventure' , 'Comedy']}];
let actionflicks = films.filter(f => (f.genre || f.dependencies).includes( 'Action'))
console.log(actionflicks)
和user1
)和两个模型(user2
和ModelA
)。在管理页面中,我只想显示ModelB
到ModelA
,所以user1
只能编辑user1
实例,不能编辑ModelA
实例。同样,我想让ModelB
仅能编辑user2
实例。有没有办法做到这一点?
答案 0 :(得分:1)
这就是has_change_permission
的作用。您可以向特定用户授予编辑权限。
class TestAdmin(admin.ModelAdmin):
def has_change_permission(self, request):
if request.user.username == 'xyz':
# Feel free to return false to hide this TestAdmin to xyz user
return False
return True
答案 1 :(得分:0)
Private Sub rec_Click()
If deptotal.Value > "250,000" Or equitytotal.Value > "80" Then
UserForm4.Show
Else
If deptotal.Value < "250,000" Or equitytotal.Value < "80" Then
MsgBox "No Recommendations to Show as of Now"
End If
End If
End Sub
和user1
的访问权限,则它们不能成为超级用户。因此,请先进行重构。
是的,您可以在Django管理界面中为特定用户提供特定模型的访问权限。请查看Django文档:Permissions and Authorizations。
在https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Authentication
上也有关于设置权限和组的很好的教程。让我知道您阅读这些资源后是否感到困惑。
谢谢!
答案 2 :(得分:0)
在has_module_permission中,您可以执行以下操作:
def has_module_permission(self, request):
if request.user.is_superuser: # show for super user anyway
return True
if request.user ... complete the condition:
return True
您应该有一些区别用户的方法,例如为不同用户(管理员,职员,编辑者)提供更多属性等等。
if request.user.role = "staff":
return True
类似的东西。