mirror of
https://github.com/Rushilwiz/openly.git
synced 2025-04-07 05:40:19 -04:00
50 lines
1.4 KiB
Python
50 lines
1.4 KiB
Python
from rest_framework import serializers
|
|
from django.contrib.auth.models import User
|
|
|
|
from .models import Profile, Post, Event
|
|
|
|
class UserSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = User
|
|
fields = ('username', 'email', 'first_name', 'last_name')
|
|
|
|
class UserCreateSerializer(serializers.ModelSerializer):
|
|
password = serializers.CharField(write_only=True)
|
|
|
|
def create(self, validated_data):
|
|
user = User.objects.create(
|
|
username = validated_data['username'],
|
|
email = validated_data['email'],
|
|
first_name = validated_data['first_name'],
|
|
last_name = validated_data['last_name']
|
|
)
|
|
|
|
user.set_password(validated_data['password'])
|
|
user.save()
|
|
|
|
profile = Profile.objects.create(user=user)
|
|
profile.save()
|
|
|
|
return user
|
|
|
|
class Meta:
|
|
model = User
|
|
fields = ('username', 'password', 'email', 'first_name', 'last_name')
|
|
|
|
class ProfileSerializer(serializers.ModelSerializer):
|
|
user = UserSerializer()
|
|
|
|
class Meta:
|
|
model = Profile
|
|
fields = ('user', 'nickname',)
|
|
|
|
class PostSerializer(serializers.ModelSerializer):
|
|
user = UserSerializer()
|
|
class Meta:
|
|
model = Post
|
|
fields = ('user', 'headline', 'content', 'votes')
|
|
|
|
class EventSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Event
|
|
fields = ('name', 'date', 'organizer', 'address', 'description',) |