Сценарий случая
При наличии новой записи в Episod
модель на основе ссылки Story
модель episode_number
должна автоматически заполняться.
Возможное решение
Мы собираемся перезаписать Episod
метод сохранения модели по умолчанию и проверим, если это запись для нового экземпляра, мы установим его значение отсюда.
class Episode(models.Model):
title = models.CharField(max_length=255)
cover = models.ImageField(upload_to=upload_location)
story = models.ForeignKey(Story, on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
episode_number = models.IntegerField(null=True)
def save(self, *args, **kwargs):
if not self.pk: # new instance
self.episode_number = Episode.objects.filter(story=self.story).count() + 1
return super().save(*args, **kwargs)