我對模型ModelA
(我正在使用這些在FormView
中)使用django模型表單MyModelFormA
。Django通過模型中的對象傳遞初始值
我想通過使用ModelA
的現有對象將初始值傳遞給窗體,並在發生更改時創建它的新對象。
我一直在通過初始值象下面這樣:
def get_form_kwargs(self):
kwargs = super(MyFormView, self).get_form_kwargs()
kwargs.update({'instance': ModelAObject})
我不知道爲什麼,但是當表單驗證像下面
def form_valid(self, form):
instance = form.save()
它只是更新現有instance
對象,而不是創建新。
HTTP請求無狀態的,如何要求知道被在以前的請求
順利通過處理一個
instance
如何解決這個問題?
我認爲做這樣的事情
def get_initial(self):
initial = model_to_dict(MyModelAObject)
return initial
的其實只有一個在MyModelFormA
MyModelA
領域的子集。最初以字典形式傳遞所有字段不會造成任何麻煩?
有沒有很多優雅的方式來處理它?
你怎麼'ModelAObject'? – Rohan
我從數據庫中得到它! 'ModelA.objects.get()' – Iamcool
但是,你如何得到一些特定的對象? – Rohan