from django.contrib.auth.models import ContentType from django.utils.translation import gettext_lazy as _ from rest_framework import serializers from ..models import Permission __all__ = ['PermissionSerializer', 'UserPermsSerializer'] class PermissionContentTypeSerializer(serializers.ModelSerializer): class Meta: model = ContentType fields = ['id', 'app_label', 'model'] class PermissionSerializer(serializers.ModelSerializer): content_type = PermissionContentTypeSerializer(read_only=True) class Meta: model = Permission fields = ['id', 'name', 'content_type', 'codename'] class UserPermsSerializer(serializers.Serializer): perms = serializers.ListField(label=_('Perms'), read_only=True) def create(self, validated_data): pass def update(self, instance, validated_data): pass