У меня есть система с несколькими шагами. Каждый шаг увеличивает один экземпляр объекта.
Я хочу сохранить экземпляр в БД только на последнем шаге, на других просто обновить экземпляр, который я сохранил в сеансе.
Мой класс модели выглядит так:
class Proposta(models.Model):
Modelo = models.ForeignKey("ModeloVersao", verbose_name="Modelo")
Pacotes = models.ManyToManyField("PacoteModelo", null=True, blank=True)
Opcionais = models.ManyToManyField("ItemModelo", null=True, blank=True)
RevestimentoInterno = models.ForeignKey("RevestimentoInternoModelo", verbose_name="Revestimento Interno")
Cor = models.ForeignKey("CorModelo")
CorSecundaria = models.ForeignKey("CorModeloSecundaria", verbose_name="Cor secundária", null=True, blank=True)
Data = models.DateTimeField(auto_now_add = True)
Status = models.CharField("Status", choices=STATUS_PROPOSTA, max_length=10)
Cliente = models.ForeignKey("Cliente")
Вот моя проблема:
Когда я пытаюсь добавить или извлечь поля m2m, он, очевидно, выдает ошибку ValueError с сообщением Экземпляр Proposta должен иметь значение первичного ключа, прежде чем можно будет использовать отношение многие ко многим.
Я успешно получил желаемый результат, создав свой экземпляр obj с pk = 0, но я уверен, что это не лучший способ, если он есть.
Существует ли способ сделать это без обмана, как это.
Любая помощь будет отличной.
Спасибо