Предположим, у нас есть следующий класс:
Класс 'Config'
class Config(models.Model):
name = models.CharField(max_length=40, editable=True, blank=False, null=False)
nodes = models.ManyToManyField(HierarchyNode_MPTT)
element = models.ForeignKey(ForecastConfigurationLayout, on_delete=models.PROTECT, default=None)
Атрибут nodes
представляет отношение M: N.Я хочу установить атрибут elements
по умолчанию на основе комбинации nodes
.Итак, во время процесса сохранения (в идеале pre_save
) мне нужно передать все узлы в класс / метод, который возвращает uuid
для element
.
Итак, я иду в приложение администратора, создаю объект типа Config
, выбираю мои узлы на экране и нажимаю кнопку Сохранить.Теперь система должна вызвать класс / метод, передать узлы и обновить element
с помощью uuid
.Это не работает, потому что отношение M: N в таблице сопоставления между Class
и Nodes
пока не имеет правильных записей (потому что это pre_save
).Я хотел бы избежать post_save
, потому что тогда атрибут nodes
должен разрешать значения Null
.
Любые идеи очень ценятся.
Спасибо, Себастьян