123456789101112131415 |
- # -*- coding: utf-8 -*-
- from django.contrib.auth.mixins import UserPassesTestMixin
- class ModelUserFieldPermissionMixin(UserPassesTestMixin):
- model_permission_user_field = 'user'
- def get_model_permission_user_field(self):
- return self.model_permission_user_field
- def test_func(self):
- model_attr = self.get_model_permission_user_field()
- current_user = self.request.user
- return current_user == getattr(self.get_queryset().first(), model_attr)
|