создал модель FilmSession

This commit is contained in:
Андрей Дувакин 2024-04-09 21:26:00 +05:00
parent 964173f7a0
commit 7145807e5a

View File

@ -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 django.core.validators import MinValueValidator
from films.models import Films
class Auditorium(Model): class Auditorium(Model):
number = CharField( number = CharField(
max_length=20, max_length=20,
verbose_name='Номер кинозала', verbose_name='Номер кинозала',
) )
row_count = IntegerField( row_count = IntegerField(
verbose_name='Количество рядов кресел в зале', verbose_name='Количество рядов кресел в зале',
validators=[ validators=[
@ -20,19 +23,21 @@ class Auditorium(Model):
verbose_name_plural = 'Залы' verbose_name_plural = 'Залы'
class Rows(Model): class Row(Model):
row_number = IntegerField( row_number = IntegerField(
verbose_name='Номер ряда', verbose_name='Номер ряда',
validators=[ validators=[
MinValueValidator(1), MinValueValidator(1),
], ],
) )
column_count = IntegerField( column_count = IntegerField(
verbose_name='Количество кресел в ряду', verbose_name='Количество кресел в ряду',
validators=[ validators=[
MinValueValidator(1), MinValueValidator(1),
], ],
) )
auditorium = OneToOneField( auditorium = OneToOneField(
Auditorium, Auditorium,
on_delete=CASCADE, on_delete=CASCADE,
@ -44,3 +49,36 @@ class Rows(Model):
db_table = 'timetable_rows' db_table = 'timetable_rows'
verbose_name = 'Место' verbose_name = 'Место'
verbose_name_plural = 'Места' 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 = 'Сеансы'