Hi guys, i need some help here. I'm trying to create multiple objects at once when saving in admin panel. But the problem is, only the last value in the loop is being saved. I tried setting the primary key to None.
Output should be: A-1 ,A-2 ,A-3 etc..
class Seat(models.Model):
seat = models.CharField(default='Seat', max_length=5, unique=True, primary_key=False)
theater = models.ForeignKey(Theater, on_delete=models.CASCADE)
def clean(self):
model = self.__class__
if model.objects.count() >= self.theater.capacity:
raise ValidationError(' - Maximum seats exceeded!')
def save(self, *args, **kwargs):
seats_name = []
row_label = [chr(letter) for letter in range(65, 91)]
row_track = 0
row_range = 10
col_range = self.theater.capacity // row_range
col_track = 0
for n in range(self.theater.capacity):
row_track += 1
if row_track > row_range:
row_track = 1
col_track += 1
display = "{} | {}-{}".format(self.theater, row_label[col_track], row_track)
seats_name.append(display)
for seat in seats_name:
self.seat = seat
super(Seat, self).save(*args, **kwargs)
def __str__(self):
return self.seat