serializers.py
1.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# _*_ coding: utf-8 _*_
# @Time : 2020/9/14 12:40
# @Author vanwhebin
# from abc import ABC
from abc import ABC
from django.contrib.auth import authenticate
from rest_framework import exceptions, serializers
from .models import User, Media
from django.contrib.auth.models import Permission, Group
from rest_framework_simplejwt.serializers import TokenObtainPairSerializer
class MyTokenObtainPairSerializer(TokenObtainPairSerializer):
username_field = User.EMAIL_FIELD
# class Meta:
# __slots__ = ()
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('username', 'email', 'is_superuser', 'password')
extra_kwargs = {"password": {"write_only": True}}
def create(self, validated_data):
user = User(
email=validated_data['email'],
username=validated_data['username']
)
user.set_password(validated_data['password'])
user.save()
# Token.objects.create(user=user)
return user
class PermissionSerializer(serializers.ModelSerializer):
class Meta:
model = Permission
fields = '__all__'
class GroupSerializer(serializers.ModelSerializer):
class Meta:
model = Group
fields = "__all__"
class MediaSerializer(serializers.ModelSerializer):
class Meta:
model = Media
fields = ('file', 'size', 'create_time')