- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 djangorestframework
,我的目标是在我的 View 上使用 DjangoModelPermissions
,它对 GET
请求使用react。官方文档说:
The default behavior can also be overridden to support custom model permissions. For example, you might want to include a
view
model permission forGET
requests.
所以我修改了我的模型如下:
class User(AbstractUser):
display_name = models.CharField(_('Display Name'), blank=True, max_length=255)
class Meta:
permissions = (
("view_user", "Can view users"),
)
def __str__(self):
return self.username
和 View :
class UserListAPIView(ListAPIView):
queryset = User.objects.all()
serializer_class = UserSerializer
permission_classes = (permissions.DjangoModelPermissions,)
设置:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.TokenAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.DjangoModelPermissions'
]
}
问题是我实现的 UserListAPIView
成功地将所有对象的列表返回给不属于 Group
的用户,也没有任何自定义 User权限
。在我看来,DjangoModelPermissions
无效。
最佳答案
哎呀,这比我想象的要容易:
class CustomDjangoModelPermission(permissions.DjangoModelPermissions):
def __init__(self):
self.perms_map = copy.deepcopy(self.perms_map) # from EunChong's answer
self.perms_map['GET'] = ['%(app_label)s.view_%(model_name)s']
关于python - Django Rest Framework 在 ListAPIView 上使用 DjangoModelPermissions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46584653/
DjangoModelPermissions 之间有什么区别?和 DjangoObjectPermissions ? 我仍在学习 Django 和 DRF,根据文档,它们似乎做的事情完全相同。 Dja
我试图让 MongoEngine 与 Django REST 框架一起工作。通过点击此链接 Getting mongoengine and django rest framework to play
我收到以下错误 即使我的观点是压倒一切的 get_queryset() . AssertionError: Cannot apply DjangoModelPermissions on a view
我之前对我的项目有这样的看法: from rest_framework import status from rest_framework.views import APIView from rest
我正在使用 djangorestframework,我的目标是在我的 View 上使用 DjangoModelPermissions,它对 GET 请求使用react。官方文档说: The defau
我收到错误“.accepted_renderer not set on Response resp api django”。 我正在关注 django rest-api 教程。我使用的 Django
我正在使用 django 1.9.5 和 rest framework 3.x(DRF)。我刚刚遵循了官方 django rest 框架的教程,你可以说它是从 DRF 开始的,我写了以下 View ,
我是一名优秀的程序员,十分优秀!