Подключение модели к другой модели при сохранении в панели администратора
Простите за мой плохой английский, но я даже не знаю, как правильно описать мою проблему.
У меня есть 3 модели:
class Book(models.Model):
source=models.ForeignKey(Original, on_delete=models.CASCADE,
related_name='book', null=True, blank=True)
...
class Original(models.Model):
...
class Title(models.Model):
book = models.OneToOneField(Book, on_delete=models.CASCADE,
related_name='item', null=True, blank=True)
original = models.OneToOneField(Original, on_delete=models.CASCADE,
related_name='item', null=True, blank=True)
original_name = models.CharField(max_length=300, null=True, blank=True)
...
На моей странице администратора, когда я создаю экземпляр Book, я записываю его имя в модель Title как inline, и я хочу иметь опцию:
1.Заполнить форму original_name вручную, если источник не указан
2.Если источник указан, оставьте это поле пустым, но при сохранении соедините этот экземпляр Book с полем book в модели Title, которое связано с экземпляром модели Original.
В итоге я хочу иметь Title модель, которая имеет original_name и ссылки на original и book экземпляры, если source даны, и из которой в будущем я могу ссылаться на original_name, когда это необходимо
Я пытался реализовать это с помощью функции save_model, но я не знаю, как установить Book экземпляр в качестве book поля в Title модели
Я думаю, что это должно быть довольно легко, но я не знаю, с чего начать, и это расстраивает...