Как запретить изменение поля после изменения django
Как сделать так, чтобы после первого изменения поля или заполнения всего объекта модели все его поля стали только для чтения, чтобы нельзя было потом изменить? Пусть есть модель Vyazka
class Vyazka(models.Model):
material = models.ForeignKey(MaterialTaked, on_delete=models.CASCADE, verbose_name='Взятая старшим масса материала')
mass_taked = models.FloatField(verbose_name='Масса, которую дал старший', default=0)
mass_finish = models.FloatField(verbose_name='Готовая масса после вязки', blank=True, null=True, help_text='Заполнить после того, как работник сделал вязку')
count = models.IntegerField(verbose_name='Количество готовой модели', blank=True, null=True,help_text='Заполнить после того, как работник сделал вязку')
material_given_to = models.ForeignKey(Employee, on_delete=models.SET_NULL, null=True, verbose_name='Рабочий по вязке', related_name='employees')
mass_brak = models.FloatField(verbose_name='Масса брака', default=0, help_text='Заполнить после того, как работник сделал вязку')
created_at = models.DateTimeField(auto_now_add=True, verbose_name='Дата передачи материала')
updated_at = models.DateTimeField(auto_now=True, verbose_name='Дата последнего изменения')
Суть модели в том, что работнику дается материал и сначала заполняются поля material, mass_taked, material_given_to
И в админ панели после их заполнения эти поля должны стать только для чтения, чтобы их нельзя было уже поменять.
А после заполнения всех полей до конца - все его поля, должны стать неизменяемыми
Для примера я просто убрал поле
list_editable = ['mass_finish', 'count', 'mass_brak']
Но нужно чтобы это делалось автоматически
Если можно на любом примере.
