0
私は非常に大きなモデルを持っています。だから私は各ページを前のオブジェクトを取得し、彼の属性をフォームで更新することを決めました。最初のフォームで私は:コミット= Falseで保存され、まだ保存されているオブジェクト
def save(self, commit=False):
obj = super(FirstForm, self).save(commit=False)
obj.id = 999999999
self.request.session['obj'] = pickle.dumps(obj)
self.request.session.save()
return obj
IDはmtmで必要です。だから私はデフォルトを設定します。
は、ビューの最後のステップに私が行います
obj = self.request.session.get('obj')
obj = pickle.loads(obj)
obj.id = None # remove temporary id
obj.save()
しかし、Djangoは2つのオブジェクトを保存します。 1つの通常のオブジェクトと1つはidが空の999999999です。どうして ?私が試した
は行います
obj = super(FirstForm, self).save(commit=False)
obj.id = 999999999
self.request.session['obj'] = pickle.dumps(obj)
self.request.session.save()
obj.delete()
しかし、それは助けにはなりませんでした。
解決策はありますか?これを避ける方法はありますか? – Arti