Added some logic

This commit is contained in:
maciejrusek
2026-03-12 23:24:14 +01:00
parent ca605ac59d
commit 8b55be1b9c
48 changed files with 240 additions and 7 deletions

View File

View File

@@ -0,0 +1,3 @@
from django.contrib import admin
# Register your models here.

View File

@@ -0,0 +1,5 @@
from django.apps import AppConfig
class AuthorsConfig(AppConfig):
name = 'apps.authors'

View File

@@ -0,0 +1,6 @@
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)

View File

View File

@@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.

View File

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

View File

@@ -0,0 +1,20 @@
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
class AuthorsViewSet(viewsets.ModelViewSet):
queryset = Author.objects.select_related("shelf")
serializer_class = AuthorSerializer
authentication_classes = [JWTAuthentication]
permission_classes = [IsAuthenticated]
def get_queryset(self):
return self.queryset.filter(
shelf__user_id=self.request.user.pk
)