class Movies(models.Model):
MOVIE_GENERE =(
('A', ' Action'),
('C','Comedy'),
('F','Fantasy'),
('H','Horror'),
('M','Mystery'),
('R', 'Romance'),
('T', 'Thriller'),
)
title = models.CharField(max_length=20)
age = models.IntegerField(default=None)
description = models .TextField(blank=True )
movie_start_showing_date_since = models.DateTimeField()
movie_end_showing_date_till= models.DateTimeField()
movie_genre = models.CharField(max_length=1, choices=MOVIE_GENERE)
release_data= models.DateField()
rating = models.IntegerField()
movie_runtime = models.CharField(max_length=15, default='2:00:00', help_text='film length')
movie_normal_price = models.FloatField()
movie_vip_price= models.FloatField()
movie_poster = models.ImageField(upload_to ='uploads/')
MOVIE_SHOWING_IN =(
('3D','3D'),
('2D','2D'),
)
movie_showing_in = models.CharField(max_length=2,choices=MOVIE_SHOWING_IN)
rated = models.CharField(max_length=15, default=1, null=True, blank=True)
class Cinema (models.Model):
cinema_name = models.CharField(max_length=20)
cinema_total_seat = models.IntegerField()
class Hall (models.Model):
hall_id = models.IntegerField()
hall_name =models.CharField()
number_of_seats = models.IntegerField()
class Seat(models.Model):
STATUS =(
('CANCELED','Canceled'),
('CONFIRMED','Confirmed'),
('BOOKED','Booked'),
)
seat_no = models.PositiveSmallIntegerField(blank=False, null=False, unique=True)
row_no = models.PositiveSmallIntegerField(blank=False, null=False)
seat_name = models.CharField(max_length=3, unique=True)
booked_by = models.CharField(max_length=200, blank=True)
seat_status = models.CharField(max_length=20, choices=STATUS)
number_of_seats= models.IntegerField()
class Reservation (models.Model):
user_name = models.CharField(max_length=100,unique=True)
# ticket_no =models.ForeignKey(Ticket, on_delete=models.CASCADE, related_name="details")
row = models.PositiveSmallIntegerField()
col = models.PositiveSmallIntegerField()
def __str__(self):
return "{} - {} - row:{} - col:{}".format(self.username, self.projection_id.time, self.row, self.col)