From 7145807e5a16f0f3049035a1b4acc9e8bb24a743 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9?= Date: Tue, 9 Apr 2024 21:26:00 +0500 Subject: [PATCH] =?UTF-8?q?=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BB=20=D0=BC?= =?UTF-8?q?=D0=BE=D0=B4=D0=B5=D0=BB=D1=8C=20FilmSession?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CineSync/timetable/models.py | 42 ++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/CineSync/timetable/models.py b/CineSync/timetable/models.py index 5072e19..738f0a9 100644 --- a/CineSync/timetable/models.py +++ b/CineSync/timetable/models.py @@ -1,12 +1,15 @@ -from django.db.models import Model, CharField, IntegerField, OneToOneField, CASCADE +from django.db.models import Model, CharField, IntegerField, OneToOneField, CASCADE, DateTimeField, FloatField from django.core.validators import MinValueValidator +from films.models import Films + class Auditorium(Model): number = CharField( max_length=20, verbose_name='Номер кинозала', ) + row_count = IntegerField( verbose_name='Количество рядов кресел в зале', validators=[ @@ -20,19 +23,21 @@ class Auditorium(Model): verbose_name_plural = 'Залы' -class Rows(Model): +class Row(Model): row_number = IntegerField( verbose_name='Номер ряда', validators=[ MinValueValidator(1), ], ) + column_count = IntegerField( verbose_name='Количество кресел в ряду', validators=[ MinValueValidator(1), ], ) + auditorium = OneToOneField( Auditorium, on_delete=CASCADE, @@ -44,3 +49,36 @@ class Rows(Model): db_table = 'timetable_rows' verbose_name = 'Место' verbose_name_plural = 'Места' + + +class FilmSession(Model): + start_datetime = DateTimeField( + verbose_name='Дата и время начала сеанса', + ) + + price = FloatField( + verbose_name='Цена билета', + validators=[ + MinValueValidator(1), + ], + ) + + film = OneToOneField( + Films, + on_delete=CASCADE, + verbose_name='фильм', + related_name='sessions', + ) + + auditorium = OneToOneField( + Auditorium, + on_delete=CASCADE, + verbose_name='зал', + related_name='sessions', + ) + + class Meta: + db_table = 'timetable_film_sessions' + verbose_name = 'Сеанс' + verbose_name_plural = 'Сеансы' +