сделал сквоши

This commit is contained in:
Андрей Дувакин 2024-04-23 08:22:08 +05:00
parent 4a5bc8cc6b
commit f3b8f36b6d
22 changed files with 450 additions and 658 deletions

2
.gitignore vendored
View File

@ -145,3 +145,5 @@ cython_debug/
/.test/
/er.txt
/Документы/Странички.drawio
/CineSync/media/cache/
/CineSync/media/users/

View File

@ -1,24 +0,0 @@
# Generated by Django 4.2 on 2024-04-09 16:39
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("films", "0001_initial"),
]
operations = [
migrations.AlterField(
model_name="film",
name="genres",
field=models.ManyToManyField(
help_text="Жанры фильма",
related_name="films",
related_query_name="films",
to="films.genre",
verbose_name="Жанры",
),
),
]

View File

@ -0,0 +1,196 @@
# Generated by Django 4.2 on 2024-04-23 03:20
from django.db import migrations, models
import films.models
class Migration(migrations.Migration):
replaces = [
('films', '0002_alter_film_genres'),
('films', '0003_film_description'),
('films', '0004_film_image'),
('films', '0005_film_age_limit'),
(
'films',
'0006_actor_country_director_film_actors_film_countries_and_more',
),
('films', '0007_alter_film_countries'),
]
dependencies = [
('films', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='film',
name='genres',
field=models.ManyToManyField(
help_text='Жанры фильма',
related_name='films',
related_query_name='films',
to='films.genre',
verbose_name='Жанры',
),
),
migrations.AddField(
model_name='film',
name='description',
field=models.CharField(
default='', help_text='Описание фильма', max_length=1000
),
preserve_default=False,
),
migrations.AddField(
model_name='film',
name='image',
field=models.ImageField(
blank=True,
null=True,
upload_to=films.models.Film.get_upload_path,
verbose_name='Изображение фильма',
),
),
migrations.AddField(
model_name='film',
name='age_limit',
field=models.CharField(
choices=[
['0+', '0+'],
['6+', '0+'],
['12+', '12+'],
['16+', '16+'],
['18+', '18+'],
],
default='12+',
help_text='Возрастное ограничение',
max_length=3,
),
preserve_default=False,
),
migrations.CreateModel(
name='Actor',
fields=[
(
'id',
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name='ID',
),
),
(
'first_name',
models.CharField(
help_text='Имя актера',
max_length=100,
verbose_name='Имя',
),
),
(
'last_name',
models.CharField(
help_text='Фамилия актера',
max_length=100,
verbose_name='Фамилия',
),
),
],
options={
'verbose_name': 'Актер',
'verbose_name_plural': 'Актеры',
'db_table': 'films_actors',
},
),
migrations.CreateModel(
name='Country',
fields=[
(
'id',
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name='ID',
),
),
(
'name',
models.CharField(
help_text='Название страны',
max_length=500,
verbose_name='Название',
),
),
],
options={
'verbose_name': 'Страна',
'verbose_name_plural': 'Страны',
'db_table': 'films_countries',
},
),
migrations.CreateModel(
name='Director',
fields=[
(
'id',
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name='ID',
),
),
(
'first_name',
models.CharField(
help_text='Имя режиссера',
max_length=100,
verbose_name='Имя',
),
),
(
'last_name',
models.CharField(
help_text='Фамилия режиссера',
max_length=100,
verbose_name='Фамилия',
),
),
],
options={
'verbose_name': 'Режиссер',
'verbose_name_plural': 'Режиссеры',
'db_table': 'films_directors',
},
),
migrations.AddField(
model_name='film',
name='actors',
field=models.ManyToManyField(
related_name='actor_films',
related_query_name='actor_films',
to='films.actor',
),
),
migrations.AddField(
model_name='film',
name='directors',
field=models.ManyToManyField(
related_name='director_films',
related_query_name='director_films',
to='films.director',
),
),
migrations.AddField(
model_name='film',
name='countries',
field=models.ManyToManyField(
related_name='country_films',
related_query_name='country_films',
to='films.country',
),
),
]

View File

@ -1,21 +0,0 @@
# Generated by Django 4.2 on 2024-04-14 17:21
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("films", "0002_alter_film_genres"),
]
operations = [
migrations.AddField(
model_name="film",
name="description",
field=models.CharField(
default="", help_text="Описание фильма", max_length=1000
),
preserve_default=False,
),
]

View File

@ -1,24 +0,0 @@
# Generated by Django 4.2 on 2024-04-17 13:08
from django.db import migrations, models
import films.models
class Migration(migrations.Migration):
dependencies = [
("films", "0003_film_description"),
]
operations = [
migrations.AddField(
model_name="film",
name="image",
field=models.ImageField(
blank=True,
null=True,
upload_to=films.models.Film.get_upload_path,
verbose_name="Изображение фильма",
),
),
]

View File

@ -1,30 +0,0 @@
# Generated by Django 4.2 on 2024-04-20 12:53
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("films", "0004_film_image"),
]
operations = [
migrations.AddField(
model_name="film",
name="age_limit",
field=models.CharField(
choices=[
["0+", "0+"],
["6+", "0+"],
["12+", "12+"],
["16+", "16+"],
["18+", "18+"],
],
default="12+",
help_text="Возрастное ограничение",
max_length=3,
),
preserve_default=False,
),
]

View File

@ -1,137 +0,0 @@
# Generated by Django 4.2 on 2024-04-21 12:33
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("films", "0005_film_age_limit"),
]
operations = [
migrations.CreateModel(
name="Actor",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"first_name",
models.CharField(
help_text="Имя актера",
max_length=100,
verbose_name="Имя",
),
),
(
"last_name",
models.CharField(
help_text="Фамилия актера",
max_length=100,
verbose_name="Фамилия",
),
),
],
options={
"verbose_name": "Актер",
"verbose_name_plural": "Актеры",
"db_table": "films_actors",
},
),
migrations.CreateModel(
name="Country",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"name",
models.CharField(
help_text="Название страны",
max_length=500,
verbose_name="Название",
),
),
],
options={
"verbose_name": "Страна",
"verbose_name_plural": "Страны",
"db_table": "films_countries",
},
),
migrations.CreateModel(
name="Director",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"first_name",
models.CharField(
help_text="Имя режиссера",
max_length=100,
verbose_name="Имя",
),
),
(
"last_name",
models.CharField(
help_text="Фамилия режиссера",
max_length=100,
verbose_name="Фамилия",
),
),
],
options={
"verbose_name": "Режиссер",
"verbose_name_plural": "Режиссеры",
"db_table": "films_directors",
},
),
migrations.AddField(
model_name="film",
name="actors",
field=models.ManyToManyField(
related_name="actor_films",
related_query_name="actor_films",
to="films.actor",
),
),
migrations.AddField(
model_name="film",
name="countries",
field=models.ManyToManyField(
related_name="country_films",
related_query_name="country_films",
to="films.director",
),
),
migrations.AddField(
model_name="film",
name="directors",
field=models.ManyToManyField(
related_name="director_films",
related_query_name="director_films",
to="films.director",
),
),
]

View File

@ -1,25 +0,0 @@
# Generated by Django 4.2 on 2024-04-21 12:52
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
(
"films",
"0006_actor_country_director_film_actors_film_countries_and_more",
),
]
operations = [
migrations.AlterField(
model_name="film",
name="countries",
field=models.ManyToManyField(
related_name="country_films",
related_query_name="country_films",
to="films.country",
),
),
]

View File

@ -27,7 +27,9 @@ class Migration(migrations.Migration):
"row_number",
models.IntegerField(
help_text="Номер ряда",
validators=[django.core.validators.MinValueValidator(1)],
validators=[
django.core.validators.MinValueValidator(1)
],
verbose_name="Номер ряда",
),
),
@ -35,7 +37,9 @@ class Migration(migrations.Migration):
"column_number",
models.IntegerField(
help_text="Номер кресла в ряду",
validators=[django.core.validators.MinValueValidator(1)],
validators=[
django.core.validators.MinValueValidator(1)
],
verbose_name="Номер кресла",
),
),

View File

@ -1,38 +0,0 @@
# Generated by Django 4.2 on 2024-04-09 16:27
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
("tickets", "0001_initial"),
("timetable", "0002_rename_rows_row_filmsession"),
("users", "0001_initial"),
]
operations = [
migrations.AddField(
model_name="ticket",
name="session_id",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="tickets",
related_query_name="tickets",
to="timetable.filmsession",
),
),
migrations.AddField(
model_name="ticket",
name="user_id",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="tickets",
related_query_name="tickets",
to="users.profile",
),
),
]

View File

@ -0,0 +1,126 @@
# Generated by Django 4.2 on 2024-04-23 03:20
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
replaces = [
('tickets', '0002_initial'),
('tickets', '0003_rename_session_id_ticket_session_and_more'),
('tickets', '0004_rename_user_ticket_profile'),
('tickets', '0005_alter_ticket_options_alter_ticket_table'),
(
'tickets',
'0006_remove_ticket_profile_remove_ticket_session_and_more',
),
('tickets', '0007_alter_order_datetime_order'),
]
dependencies = [
('timetable', '0002_rename_rows_row_filmsession'),
('tickets', '0001_initial'),
('users', '0001_initial'),
('users', '0003_remove_profile_genres_profile_genres'),
('timetable', '0006_remove_auditorium_row_count'),
]
operations = [
migrations.AddField(
model_name='ticket',
name='session',
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name='tickets',
related_query_name='tickets',
to='timetable.filmsession',
),
),
migrations.AddField(
model_name='ticket',
name='profile',
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name='tickets',
related_query_name='tickets',
to='users.profile',
),
),
migrations.AlterModelOptions(
name='ticket',
options={'verbose_name': 'Билет', 'verbose_name_plural': 'Билеты'},
),
migrations.AlterModelTable(
name='ticket',
table='tickets_ticket',
),
migrations.RemoveField(
model_name='ticket',
name='profile',
),
migrations.RemoveField(
model_name='ticket',
name='session',
),
migrations.AlterModelTable(
name='ticket',
table='tickets_tickets',
),
migrations.CreateModel(
name='Order',
fields=[
(
'id',
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name='ID',
),
),
(
'datetime_order',
models.DateTimeField(
help_text='Дата и время оформления заказа',
verbose_name='Дата и время оформления заказа',
),
),
(
'profile',
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name='orders',
related_query_name='orders',
to='users.profile',
),
),
(
'session',
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name='orders',
related_query_name='orders',
to='timetable.filmsession',
),
),
],
options={
'verbose_name': 'Заказ',
'verbose_name_plural': 'Заказы',
'db_table': 'tickets_orders',
},
),
migrations.AddField(
model_name='ticket',
name='order',
field=models.ForeignKey(
default='',
on_delete=django.db.models.deletion.CASCADE,
related_name='tickets',
related_query_name='tickets',
to='tickets.order',
),
preserve_default=False,
),
]

View File

@ -1,23 +0,0 @@
# Generated by Django 4.2 on 2024-04-09 16:39
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("tickets", "0002_initial"),
]
operations = [
migrations.RenameField(
model_name="ticket",
old_name="session_id",
new_name="session",
),
migrations.RenameField(
model_name="ticket",
old_name="user_id",
new_name="user",
),
]

View File

@ -1,18 +0,0 @@
# Generated by Django 4.2 on 2024-04-09 16:40
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("tickets", "0003_rename_session_id_ticket_session_and_more"),
]
operations = [
migrations.RenameField(
model_name="ticket",
old_name="user",
new_name="profile",
),
]

View File

@ -1,21 +0,0 @@
# Generated by Django 4.2 on 2024-04-20 12:53
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("tickets", "0004_rename_user_ticket_profile"),
]
operations = [
migrations.AlterModelOptions(
name="ticket",
options={"verbose_name": "Билет", "verbose_name_plural": "Билеты"},
),
migrations.AlterModelTable(
name="ticket",
table="tickets_ticket",
),
]

View File

@ -1,84 +0,0 @@
# Generated by Django 4.2 on 2024-04-20 17:48
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
("timetable", "0006_remove_auditorium_row_count"),
("users", "0003_remove_profile_genres_profile_genres"),
("tickets", "0005_alter_ticket_options_alter_ticket_table"),
]
operations = [
migrations.RemoveField(
model_name="ticket",
name="profile",
),
migrations.RemoveField(
model_name="ticket",
name="session",
),
migrations.AlterModelTable(
name="ticket",
table="tickets_tickets",
),
migrations.CreateModel(
name="Order",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"datetime_order",
models.DateField(
help_text="Дата и время оформления заказа",
verbose_name="Дата и время оформления заказа",
),
),
(
"profile",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="orders",
related_query_name="orders",
to="users.profile",
),
),
(
"session",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="orders",
related_query_name="orders",
to="timetable.filmsession",
),
),
],
options={
"verbose_name": "Заказ",
"verbose_name_plural": "Заказы",
"db_table": "tickets_orders",
},
),
migrations.AddField(
model_name="ticket",
name="order",
field=models.ForeignKey(
default="",
on_delete=django.db.models.deletion.CASCADE,
related_name="tickets",
related_query_name="tickets",
to="tickets.order",
),
preserve_default=False,
),
]

View File

@ -1,24 +0,0 @@
# Generated by Django 4.2 on 2024-04-20 18:07
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
(
"tickets",
"0006_remove_ticket_profile_remove_ticket_session_and_more",
),
]
operations = [
migrations.AlterField(
model_name="order",
name="datetime_order",
field=models.DateTimeField(
help_text="Дата и время оформления заказа",
verbose_name="Дата и время оформления заказа",
),
),
]

View File

@ -1,72 +0,0 @@
# Generated by Django 4.2 on 2024-04-09 16:27
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
("films", "0001_initial"),
("timetable", "0001_initial"),
]
operations = [
migrations.RenameModel(
old_name="Rows",
new_name="Row",
),
migrations.CreateModel(
name="FilmSession",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"start_datetime",
models.DateTimeField(
verbose_name="Дата и время начала сеанса"
),
),
(
"price",
models.FloatField(
validators=[
django.core.validators.MinValueValidator(1)
],
verbose_name="Цена билета",
),
),
(
"auditorium",
models.OneToOneField(
on_delete=django.db.models.deletion.CASCADE,
related_name="sessions",
to="timetable.auditorium",
verbose_name="зал",
),
),
(
"film",
models.OneToOneField(
on_delete=django.db.models.deletion.CASCADE,
related_name="sessions",
to="films.film",
verbose_name="фильм",
),
),
],
options={
"verbose_name": "Сеанс",
"verbose_name_plural": "Сеансы",
"db_table": "timetable_film_sessions",
},
),
]

View File

@ -0,0 +1,120 @@
# Generated by Django 4.2 on 2024-04-23 03:20
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
replaces = [
('timetable', '0002_rename_rows_row_filmsession'),
(
'timetable',
'0003_alter_filmsession_auditorium_alter_filmsession_film_and_more',
),
('timetable', '0004_alter_row_auditorium'),
('timetable', '0005_filmsession_end_datetime'),
('timetable', '0006_remove_auditorium_row_count'),
]
dependencies = [
('films', '0001_initial'),
('timetable', '0001_initial'),
('films', '0002_alter_film_genres'),
]
operations = [
migrations.RenameModel(
old_name='Rows',
new_name='Row',
),
migrations.AlterField(
model_name='row',
name='auditorium',
field=models.OneToOneField(
on_delete=django.db.models.deletion.CASCADE,
related_name='rows',
related_query_name='rows',
to='timetable.auditorium',
verbose_name='Зал',
),
),
migrations.AlterField(
model_name='row',
name='auditorium',
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name='rows',
related_query_name='rows',
to='timetable.auditorium',
verbose_name='Зал',
),
),
migrations.CreateModel(
name='FilmSession',
fields=[
(
'id',
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name='ID',
),
),
(
'start_datetime',
models.DateTimeField(
verbose_name='Дата и время начала сеанса'
),
),
(
'price',
models.FloatField(
validators=[
django.core.validators.MinValueValidator(1)
],
verbose_name='Цена билета',
),
),
(
'auditorium',
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name='sessions',
related_query_name='sessions',
to='timetable.auditorium',
verbose_name='Зал',
),
),
(
'film',
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name='sessions',
related_query_name='sessions',
to='films.film',
verbose_name='Фильм',
),
),
(
'end_datetime',
models.DateTimeField(
blank=True,
null=True,
verbose_name='Дата и время начала сеанса',
),
),
],
options={
'verbose_name': 'Сеанс',
'verbose_name_plural': 'Сеансы',
'db_table': 'timetable_film_sessions',
},
),
migrations.RemoveField(
model_name='auditorium',
name='row_count',
),
]

View File

@ -1,48 +0,0 @@
# Generated by Django 4.2 on 2024-04-09 16:39
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
("films", "0002_alter_film_genres"),
("timetable", "0002_rename_rows_row_filmsession"),
]
operations = [
migrations.AlterField(
model_name="filmsession",
name="auditorium",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="sessions",
related_query_name="sessions",
to="timetable.auditorium",
verbose_name="Зал",
),
),
migrations.AlterField(
model_name="filmsession",
name="film",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="sessions",
related_query_name="sessions",
to="films.film",
verbose_name="Фильм",
),
),
migrations.AlterField(
model_name="row",
name="auditorium",
field=models.OneToOneField(
on_delete=django.db.models.deletion.CASCADE,
related_name="rows",
related_query_name="rows",
to="timetable.auditorium",
verbose_name="Зал",
),
),
]

View File

@ -1,28 +0,0 @@
# Generated by Django 4.2 on 2024-04-14 17:21
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
(
"timetable",
"0003_alter_filmsession_auditorium_alter_filmsession_film_and_more",
),
]
operations = [
migrations.AlterField(
model_name="row",
name="auditorium",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="rows",
related_query_name="rows",
to="timetable.auditorium",
verbose_name="Зал",
),
),
]

View File

@ -1,22 +0,0 @@
# Generated by Django 4.2 on 2024-04-17 14:36
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("timetable", "0004_alter_row_auditorium"),
]
operations = [
migrations.AddField(
model_name="filmsession",
name="end_datetime",
field=models.DateTimeField(
blank=True,
null=True,
verbose_name="Дата и время начала сеанса",
),
),
]

View File

@ -1,17 +0,0 @@
# Generated by Django 4.2 on 2024-04-20 16:49
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("timetable", "0005_filmsession_end_datetime"),
]
operations = [
migrations.RemoveField(
model_name="auditorium",
name="row_count",
),
]