0
我有一個非常大的模型,具有步驟形式。所以我決定在每個頁面上獲取前一個對象並在窗體中更新其屬性。在我的第一種形式:與commit = 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的保存兩個對象。一個普通對象和一個空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