Added some logic

This commit is contained in:
maciejrusek
2026-03-18 19:14:26 +01:00
parent fdcd0653a6
commit 5722f0b7ea
13 changed files with 211 additions and 44 deletions

View File

@@ -1,6 +1,6 @@
# from django.db import models
# from apps.user.models import User
from django.db import models
from apps.user.models import User
# class Author(models.Model):
# user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="Authors")
# name = models.CharField(max_length=255)
class Author(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="authors")
name = models.CharField(max_length=255)

View File

@@ -0,0 +1,16 @@
from rest_framework import serializers
from apps.authors.models import Author
class AuthorSerializer(serializers.ModelSerializer):
class Meta:
model = Author
fields = ["id", "name"]
read_only_fields = ["id"]
def create(self, validated_data):
request = self.context["request"]
validated_data["user"] = request.user
return super().create(validated_data)

View File

@@ -1,9 +1,9 @@
from rest_framework.routers import DefaultRouter
# from apps.authors.views import AuthorsViewSet
from apps.authors.views import AuthorsViewSet
urlpatterns = []
# router = DefaultRouter()
# router.register("", viewset=AuthorsViewSet)
# urlpatterns += router.urls
router = DefaultRouter()
router.register("", viewset=AuthorsViewSet)
urlpatterns += router.urls

View File

@@ -1,20 +1,20 @@
# from rest_framework import viewsets
from rest_framework import viewsets
# from apps.authors.models import Author
# from apps.authors.serializers import AuthorSerializer
# from rest_framework import viewsets
# from rest_framework.permissions import IsAuthenticated
# from rest_framework_simplejwt.authentication import JWTAuthentication
from apps.authors.models import Author
from apps.authors.serializers import AuthorSerializer
from rest_framework import viewsets
from rest_framework.permissions import IsAuthenticated
from rest_framework_simplejwt.authentication import JWTAuthentication
# class AuthorsViewSet(viewsets.ModelViewSet):
# queryset = Author.objects.select_related("shelf")
# serializer_class = AuthorSerializer
class AuthorsViewSet(viewsets.ModelViewSet):
queryset = Author.objects.all()
serializer_class = AuthorSerializer
# authentication_classes = [JWTAuthentication]
# permission_classes = [IsAuthenticated]
authentication_classes = [JWTAuthentication]
permission_classes = [IsAuthenticated]
# def get_queryset(self):
# return self.queryset.filter(
# shelf__user_id=self.request.user.pk
# )
def get_queryset(self):
return self.queryset.filter(
user_id=self.request.user.pk
)