Django Admin表单两次保存相同的模型

时间:2017-01-30 11:44:50

标签: python django django-forms django-admin

我试图将一个新的Object添加到m2m字段,我使用django admin,它将打开一个表单来添加新的对象模型。问题是,这只是一个表单而且模型还没有创建,所以不可能得到这个模型的字段(我想要主键,但它没有,因为对象尚未添加到数据库中)。我想要完成的是在表单启动后立即保存模型并仍然在同一个对象上工作,当用户单击SAVE按钮时,它将更新保存的对象而不是创建新对象。

class PrecoPorEpocaForm(forms.ModelForm):

    class Meta:
        model = Preco_por_epoca
        fields = ('epoca',)

    def __init__(self, *args, **kwargs):
        super(PrecoPorEpocaForm, self).__init__(*args, **kwargs)
        self.instance.save()
        print self.instance.pk

调用self.instance.save()会在初始化表单时将对象添加到数据库中,但是在添加表单时,它将创建一个新对象,因为我不再在该实例上工作了。我试图用save(commit = False)覆盖,但它没有解决问题,因为它没有将对象添加到数据库,因此我无法获取对象的主键。我坚持了2天,试图找到一个解决方案,我对Django来说相当新。如果需要,我可以提供更多代码,提前谢谢

0 个答案:

没有答案