create user post
This commit is contained in:
parent
bc7ce8106e
commit
477d680530
@ -1,6 +1,19 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from .models import *
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
|
||||
class UserSerializer(serializers.ModelSerializer):
|
||||
password = serializers.CharField(write_only=True)
|
||||
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ["id", "username", "password", "email"]
|
||||
|
||||
def validate_email(self, value):
|
||||
if User.objects.filter(email=value).exists():
|
||||
raise serializers.ValidationError("Cette adresse e-mail est déjà utilisée.")
|
||||
return value
|
||||
|
||||
|
||||
class ProductSerializer(serializers.ModelSerializer):
|
||||
|
@ -1,12 +1,13 @@
|
||||
from django.contrib import admin
|
||||
from django.urls import include, path
|
||||
from rest_framework import routers
|
||||
from .views import *
|
||||
from . import views
|
||||
|
||||
router = routers.DefaultRouter()
|
||||
router.register(r'product', views.ProductViewSet)
|
||||
|
||||
urlpatterns = [
|
||||
path('', include(router.urls)),
|
||||
path('admin/', admin.site.urls),
|
||||
path("create/", UserCreate.as_view(), name="user-create")
|
||||
]
|
||||
|
@ -1,8 +1,31 @@
|
||||
from rest_framework import viewsets
|
||||
from .models import *
|
||||
from .serializers import *
|
||||
from rest_framework.throttling import UserRateThrottle
|
||||
from rest_framework.response import Response
|
||||
from rest_framework import generics, status
|
||||
|
||||
|
||||
class UserCreate(generics.CreateAPIView):
|
||||
throttle_classes = [UserRateThrottle]
|
||||
serializer_class = UserSerializer
|
||||
queryset = User.objects.all()
|
||||
|
||||
def create(self, request):
|
||||
serializers = self.get_serializer(data=request.data)
|
||||
serializers.is_valid(raise_exception=True)
|
||||
user = serializers.save()
|
||||
return Response(serializers.data, status=status.HTTP_201_CREATED)
|
||||
|
||||
|
||||
class ProductViewSet(viewsets.ModelViewSet):
|
||||
queryset = Product.objects.all()
|
||||
serializer_class = ProductSerializer
|
||||
|
||||
|
||||
class CreateProject(viewsets.ModelViewSet):
|
||||
queryset = Product.objects.all()
|
||||
serializer_class = ProductSerializer
|
||||
|
||||
def get_queryset(self):
|
||||
return Product.objects.filter(user=self.request.user)
|
||||
|
Loading…
x
Reference in New Issue
Block a user