Newer
Older
# myapp/serializers.py
from rest_framework import serializers
from .models import Product, Profile, Category, Order, OrderItem
from django.contrib.auth.models import User
from django.contrib.auth import authenticate, get_user_model
from django.core.exceptions import ValidationError
class ProductSerializer(serializers.ModelSerializer):
class Meta:
model = Product
fields = ['id', 'name', 'image', 'price', 'rent_price', 'size', 'user_id']
# def add_product(self, clean_data):
# product = Product(
# user_id=clean_data['user_id'],
# image=clean_data['image'],
# price=clean_data['price'],
# rent_price=clean_data['rent_price'],
# name=clean_data['name'],
# size=clean_data['size']
# )
# product.save()
class CategorySerializer(serializers.ModelSerializer):
class Meta:
model = Category
fields = '__all__'
class ProfileSerializer(serializers.ModelSerializer):
class Meta:
model = Profile
fields = '__all__'
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = "__all__"
class UserLoginSerializer(serializers.Serializer):
username = serializers.CharField()
password = serializers.CharField()
def check_user(self, clean_data):
user = authenticate(username=clean_data['username'], password=clean_data['password'])
if not user:
raise ValidationError('user not found')
return user
class UserRegisterSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = '__all__'
def create(self, clean_data):
user_obj = User.objects.create_user(username=clean_data['username'], email=clean_data['email'], password=clean_data['password'])
user_obj.username = clean_data['username']
user_obj.save()
return user_obj
class OrderSerializer(serializers.ModelSerializer):
class Meta:
model = Order
fields = '__all__'
class OrderItemSerializer(serializers.ModelSerializer):
class Meta:
model = OrderItem
fields = '__all__'