# myapp/serializers.py from rest_framework import serializers from .models import Product, Profile, Category 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