унаследованный save вызывать не забываешь?
вызываю, упростил еще, но то же самое, в стандартной админке кликаю на сохранить, вылезает исправьте ошибку "обязательное поле def save(self, *args, **kwargs): self.title = self.film.title super().save(*args, **kwargs)
а, наверное дело в том что self.film.title ведь тоже еще не существует до сохранения) Но film.title существует, тогда как к нему обратиться при сохранении?)
А! Дык, и будет вылазить. Валидация-то проводится до save, и если валидатору сказали, что поле обязательное, он будет требовать наличия данных из формы. А до save, где полю присваивается резервное значение, дело даже не доходит. Раз уж резервное значение предусмотрено, и оно всегда гарантированно будет в наличии, то требование required можно убрать. Даже нужно. По сути, поле-то обязательного заполнения уже не требует, теперь оно само заполнится, в случае чего.
Т.е., можно сказать ему, что blank=True
вот это обязательное поле класс наследует от родителя, и я хотел бы только в наследнике его сделать автоподстановкой. Есть еще pre_save, но что-то не пойму как его
Тогда в форме нужно делать, а не в модели.
Обсуждают сегодня