Skip to content

Commit

Permalink
Опис змін, наприклад: Додано створення жанрів і акторів
Browse files Browse the repository at this point in the history
  • Loading branch information
RToister committed Dec 19, 2024
1 parent d0c2794 commit 39e54c3
Show file tree
Hide file tree
Showing 4 changed files with 122 additions and 2 deletions.
29 changes: 29 additions & 0 deletions db/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Generated by Django 4.0.2 on 2024-12-19 21:06

from django.db import migrations, models


class Migration(migrations.Migration):

initial = True

dependencies = [
]

operations = [
migrations.CreateModel(
name='Actor',
fields=[
('id', models.AutoField(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='Genre',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255)),
],
),
]
18 changes: 18 additions & 0 deletions db/migrations/0002_alter_genre_name.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by Django 4.0.2 on 2024-12-19 23:16

from django.db import migrations, models


class Migration(migrations.Migration):

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

operations = [
migrations.AlterField(
model_name='genre',
name='name',
field=models.CharField(max_length=255, unique=True),
),
]
15 changes: 15 additions & 0 deletions db/models.py
Original file line number Diff line number Diff line change
@@ -1 +1,16 @@
from django.db import models


class Genre(models.Model):
name = models.CharField(max_length=255, unique=True)

def __str__(self):
return self.name


class Actor(models.Model):
first_name = models.CharField(max_length=255)
last_name = models.CharField(max_length=255)

def __str__(self):
return f"{self.first_name} {self.last_name}"
62 changes: 60 additions & 2 deletions main.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,65 @@
import init_django_orm # noqa: F401

from django.db.models import QuerySet

from db.models import Genre, Actor

def main() -> QuerySet:
pass
# Create genres
genres = [("Western",), ("Action",), ("Dramma",)]
for (genre_name,) in genres:
Genre.objects.get_or_create(name=genre_name)

# Create actors
actors = [
("George", "Klooney"),
("Kianu", "Reaves"),
("Scarlett", "Keegan"),
("Will", "Smith"),
("Jaden", "Smith"),
("Scarlett", "Johansson"),
]
for first_name, last_name in actors:
Actor.objects.get_or_create(first_name=first_name, last_name=last_name)

# Update genre name "Dramma" to "Drama"
try:
genre = Genre.objects.get(name="Dramma")
genre.name = "Drama"
genre.save()
except Genre.DoesNotExist:
print("Genre 'Dramma' not found.")

try:
actor = Actor.objects.get(first_name="George", last_name="Klooney")
actor.last_name = "Clooney"
actor.save()
except Actor.DoesNotExist:
print("Actor 'George Klooney' not found.")

# Update actor Kianu Reaves to Keanu Reeves
try:
actor = Actor.objects.get(first_name="Kianu", last_name="Reaves")
actor.first_name = "Keanu"
actor.last_name = "Reeves"
actor.save()
except Actor.DoesNotExist:
print("Actor 'Kianu Reaves' not found.")

# Delete the genre "Action"
try:
Genre.objects.filter(name="Action").delete()
except Genre.DoesNotExist:
print("Genre 'Action' not found.")

# Delete all actresses with first_name "Scarlett"
Actor.objects.filter(first_name="Scarlett").delete()

# QuerySet of actors with last_name "Smith", ordered by first_name
smith_actors = Actor.objects.filter(last_name="Smith").order_by("first_name")

# Return or print the QuerySet
print("Actors with last name 'Smith':")
for actor in smith_actors:
print(f'{actor.first_name} {actor.last_name}')

return smith_actors

0 comments on commit 39e54c3

Please sign in to comment.