Изменение в django моделях

Столкнулся с задачей которая поставила меня в тупик. Есть два класса:

class Printer(Product):
    printerModel = models.ForeignKey(PrinterModel, models.CASCADE, verbose_name='Модель принтера')
    name = models.CharField(max_length=20, verbose_name='Имя принтера')
    ip = models.CharField(max_length=15, verbose_name='Ip адрес')
    status = models.ForeignKey(PrinterStatus,models.CASCADE, verbose_name='Статус принтера', blank=True, null=True)

    class Meta:
        verbose_name = 'Принетер'
        verbose_name_plural = 'Принтеры'
        db_table = 'Printer'

    def __str__(self):
        return self.serialNumber



class PrinterScheduler(Scheduler):
    uuid = models.PositiveSmallIntegerField(verbose_name='Номер заявки', default=random_number)
    printer = models.ForeignKey(Printer, models.CASCADE, verbose_name='Принтер')
    printerStatus = models.ForeignKey(PrinterStatus, models.CASCADE, verbose_name='Статус принтера')
    location = models.ForeignKey(Room, models.CASCADE, verbose_name='Место расположение', blank=True, null=True)


    class Meta:
        verbose_name = 'Журнал принтера'
        verbose_name_plural = 'Журналы принтеров'
        db_table = 'PrinterSheduler'

    def __str__(self):
        return str(self.uuid)

Необходимо что бы при изменении скажем статуса в классе Printer создавалась запись в "Журнале"(PrinterScheduler). Каким образом это можно реализовать? Если можно то в формах а не в админке.

Во что пытался сделать сам

Форме уже сделал

class PrinterUpdateForm(forms.ModelForm):

    class Meta:
        model = Printer
        fields = ('status',)

        widgets = {
            'status': forms.Select(attrs={'class': 'form-control'}),
        }

Вот view файл

class PrinterUpdate(UpdateView):
   
    model = Printer
    template_name = 'printers/printerStatusUpdate.html'
    context_object_name = 'pu'
    form_class = PrinterUpdateForm

Возможно использую не тот класс для реализации модели?

Подскажите пожалуйста реализацию?


Ответы (0 шт):