Skip to content

Commit

Permalink
'Solution'
Browse files Browse the repository at this point in the history
  • Loading branch information
danylominkov committed Nov 4, 2024
1 parent fbff533 commit 20bfa18
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Generated by Django 4.1 on 2024-11-04 12:31

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('cinema', '0001_initial'),
]

operations = [
migrations.CreateModel(
name='Actor',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('first_name', models.CharField(max_length=255)),
('last_name', models.CharField(max_length=255)),
],
),
migrations.CreateModel(
name='CinemaHall',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255)),
('rows', models.IntegerField(default=None)),
('seats_in_row', models.IntegerField(default=None)),
],
),
migrations.CreateModel(
name='Genre',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, unique=True)),
],
),
migrations.AddField(
model_name='movie',
name='actors',
field=models.ManyToManyField(related_name='movies', to='cinema.actor'),
),
migrations.AddField(
model_name='movie',
name='genres',
field=models.ManyToManyField(related_name='movies', to='cinema.genre'),
),
]
1 change: 0 additions & 1 deletion cinema/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ def __str__(self):
return f"{self.first_name} {self.last_name}"



class Movie(models.Model):
title = models.CharField(max_length=255)
description = models.TextField()
Expand Down
6 changes: 3 additions & 3 deletions cinema/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,13 @@ def get(self, request) -> Response:
serializer = GenreSerializer(genre, many=True)
return Response(serializer.data, status=status.HTTP_200_OK)

def post(self, request)-> Response:
def post(self, request) -> Response:
serializer = GenreSerializer(data=request.data)
serializer.is_valid(raise_exception=True)
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)




class GenreDetail(APIView):
def get_object(self, pk):
return get_object_or_404(Genre, pk=pk)
Expand Down Expand Up @@ -52,11 +50,13 @@ def delete(self, request, pk):
genre.delete()
return Response(status=status.HTTP_204_NO_CONTENT)


class ActorList(
generics.GenericAPIView,
mixins.ListModelMixin,
mixins.CreateModelMixin
):

queryset = Actor.objects.all()
serializer_class = ActorSerializer

Expand Down

0 comments on commit 20bfa18

Please sign in to comment.