update
This commit is contained in:
@ -4,6 +4,15 @@ from sqlalchemy.sql.functions import mode
|
||||
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf
|
||||
from drf_extra_fields.fields import Base64ImageField
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
from django.contrib.auth import authenticate
|
||||
|
||||
|
||||
class LocationCatSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model=Location
|
||||
fields=['category',]
|
||||
|
||||
|
||||
class LocationSerializer(GeoFeatureModelSerializer):
|
||||
class Meta:
|
||||
@ -40,3 +49,33 @@ class JPN_perfSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model=JpnAdminPerf
|
||||
fields=['id','et_id', 'et_right', 'et_left', 'adm2_l', 'adm1_l', 'adm0_l', 'adm0_r', 'adm1_r', 'adm2_r', 'admlevel']
|
||||
|
||||
|
||||
|
||||
class CreateUserSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ('id', 'username', 'password')
|
||||
extra_kwargs = {'password': {'write_only': True}}
|
||||
|
||||
def create(self, validated_data):
|
||||
user = User.objects.create_user(validated_data['username'],
|
||||
None,
|
||||
validated_data['password'])
|
||||
return user
|
||||
|
||||
class UserSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ('id', 'username')
|
||||
|
||||
|
||||
class LoginUserSerializer(serializers.Serializer):
|
||||
username = serializers.CharField()
|
||||
password = serializers.CharField()
|
||||
|
||||
def validate(self, data):
|
||||
user = authenticate(**data)
|
||||
if user and user.is_active:
|
||||
return user
|
||||
raise serializers.ValidationError("Invalid Details.")
|
||||
Reference in New Issue
Block a user