From 45218405a738e933fca12b807c454626710d6169 Mon Sep 17 00:00:00 2001 From: Oleksandr Pylypenko Date: Fri, 13 Oct 2023 16:19:34 +0300 Subject: [PATCH 1/3] feat: solution --- db/migrations/0001_initial.py | 29 +++++++++++++++++++++++++++++ db/models.py | 9 +++++++++ main.py | 35 ++++++++++++++++++++++++++++++++++- 3 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 db/migrations/0001_initial.py diff --git a/db/migrations/0001_initial.py b/db/migrations/0001_initial.py new file mode 100644 index 00000000..c2e885a4 --- /dev/null +++ b/db/migrations/0001_initial.py @@ -0,0 +1,29 @@ +# Generated by Django 4.0.2 on 2023-10-13 14:19 + +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)), + ], + ), + ] diff --git a/db/models.py b/db/models.py index 137941ff..dc931c25 100644 --- a/db/models.py +++ b/db/models.py @@ -1 +1,10 @@ from django.db import models + + +class Genre(models.Model): + name = models.CharField(max_length=255) + + +class Actor(models.Model): + first_name = models.CharField(max_length=255) + last_name = models.CharField(max_length=255) diff --git a/main.py b/main.py index 545f938a..82cedca1 100644 --- a/main.py +++ b/main.py @@ -2,6 +2,39 @@ from django.db.models import QuerySet +from db.models import Genre, Actor + def main() -> QuerySet: - pass + genres = ["Western", "Action", "Dramma"] + actors = [("George", "Klooney"), ("Kianu", "Reaves"), + ("Scarlett", "Keegan"), ("Will", "Smith"), + ("Jaden", "Smith"), ("Scarlett", "Johansson")] + + # Create items + for item in genres: + Genre.objects.create(name=item) + + for first, last in actors: + Actor.objects.create(first_name=first, last_name=last) + + # Update items + drama = Genre.objects.get(name="Dramma") + drama.name = "Drama" + drama.save() + + george = Actor.objects.get(first_name="George", last_name="Klooney") + george.last_name = "Clooney" + george.save() + + kianu = Actor.objects.get(first_name="Kianu", last_name="Reaves") + kianu.first_name = "Keanu" + kianu.last_name = "Reeves" + kianu.save() + + # Delete items + Genre.objects.get(name="Action").delete() + Actor.objects.filter(first_name="Scarlett").delete() + + # Return items + return Actor.objects.filter(last_name="Smith").order_by("first_name") From 8280deb3fbfa658b9134b274dfdaaed09949908c Mon Sep 17 00:00:00 2001 From: Oleksandr Pylypenko Date: Mon, 20 Nov 2023 11:25:56 +0200 Subject: [PATCH 2/3] fix: after review --- main.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/main.py b/main.py index 82cedca1..5454ac1c 100644 --- a/main.py +++ b/main.py @@ -1,3 +1,4 @@ +from django.db import models import init_django_orm # noqa: F401 from django.db.models import QuerySet @@ -12,8 +13,8 @@ def main() -> QuerySet: ("Jaden", "Smith"), ("Scarlett", "Johansson")] # Create items - for item in genres: - Genre.objects.create(name=item) + for genre in genres: + Genre.objects.create(name=genre) for first, last in actors: Actor.objects.create(first_name=first, last_name=last) @@ -38,3 +39,19 @@ def main() -> QuerySet: # Return items return Actor.objects.filter(last_name="Smith").order_by("first_name") + + +class Band(models.Model): + name = models.CharField(max_length=63) + country = models.CharField(max_length=63, blank=True, null=True) + + +class Album(models.Model): + title = models.CharField(max_length=63) + description = models.TextField(blank=True, null=True) + price = models.IntegerField(blank=True, null=True) + + +class Concert(models.Model): + name = models.CharField(max_length=63) + audience = models.IntegerField(default=100) From d2f10fce24c59706bfba70218d3f3dc1da094f8a Mon Sep 17 00:00:00 2001 From: Oleksandr Pylypenko Date: Wed, 22 Nov 2023 14:00:10 +0200 Subject: [PATCH 3/3] fix: after review --- main.py | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/main.py b/main.py index 5454ac1c..b1456117 100644 --- a/main.py +++ b/main.py @@ -1,4 +1,3 @@ -from django.db import models import init_django_orm # noqa: F401 from django.db.models import QuerySet @@ -39,19 +38,3 @@ def main() -> QuerySet: # Return items return Actor.objects.filter(last_name="Smith").order_by("first_name") - - -class Band(models.Model): - name = models.CharField(max_length=63) - country = models.CharField(max_length=63, blank=True, null=True) - - -class Album(models.Model): - title = models.CharField(max_length=63) - description = models.TextField(blank=True, null=True) - price = models.IntegerField(blank=True, null=True) - - -class Concert(models.Model): - name = models.CharField(max_length=63) - audience = models.IntegerField(default=100)