2011-11-03 65 views
2

我有一個包含多個步驟的系統。每一步都會增加一個對象實例。 我只想在最後一步中將實例保存在數據庫中,其他人只是更新我在會話中保存的實例。在保存到數據庫之前在會話中處理實例

我的模型類,似乎是這樣的:

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」實例都需要有一個主在可以使用多對多關係之前的關鍵值。

我成功通過創建pk = 0的obj實例來獲得想要的結果,但是我確定它不是最好的方法,如果有的話。

確實存在這樣做的方式,而不會像這樣作弊。

任何幫助將是偉大的。

感謝

回答

相關問題