0

Django 有一个身份验证和授权方案('django.contrib.auth')以及模型表单来生成表单,以便将数据轻松输入到数据库中。

我希望能够记录创建了一条记录,利用 django.contrib.auth,明确的目的是将同一记录的编辑限制为该用户和/或具有“编辑”权限的人。我知道我可以使用 @user_passes_test 装饰器来限制以某种方式编辑我的记录的访问权限,但我不知道我会将 request.user.name 与什么进行比较以确定当前用户是否最初创建了该记录.

我需要自己滚动多少?我是否需要捕获姓名作者,将其保存到模型中,然后阅读它 - 或者框架中是否已经有一些东西可以为我做这件事?

而且,如果我要尝试将作者保存在一个字段中,我将如何以不让用户编辑自己的凭据的方式进行操作?

4

1 回答 1

1

There are a couple of apps to do something similar, please check https://www.djangopackages.com/grids/g/model-audit/

About the last questions, to prevent the user not to edit its own credentials, you can mark the field with editable=False so it wont appear in the admin or ModelForms.

于 2013-10-03T17:49:38.763 回答