在保存到数据库之前在会话中处理实例

2024-10-01 00:24:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个有几个步骤的系统。每一步增加一个对象实例。 我只想在最后一步将实例保存在数据库中,其他人只需更新我在会话中保存的实例。在

我的模型课是这样的:

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”实例需要有一个主键值才能使用多对多关系。

如果不是我想要的结果,我肯定是成功的。在

确实存在一种不作弊的方法。在

任何帮助都会很好。在

谢谢


Tags: 实例nametrueverbosemodelsstatus步骤null
1条回答
网友
1楼 · 发布于 2024-10-01 00:24:04

您可能会发现this question的答案很有用。在

快速参考摘要:

我可以补充一点,在解释The ^{} method的部分中,文档专门解释了如何处理M2M字段。在

其中,我建议使用ModelForms。希望这有帮助!在

相关问题 更多 >