2
如何在formset驗證之前防止模型保存?代碼爲例:在formset驗證之前防止模型保存
form = StockMovementForm(data=data)
Formset = inlineformset_factory(StockMovement, StockMovement.products.through, extra=2, can_delete=False)
if form.is_valid():
stock_movement = form.save()
formset = Formset(data=data, instance=stock_movement)
if formset.is_valid():
formset.save()
(StockMovementForm用於創建一個新的* stock_movement *)
我想保存形式表單集的檢查有效性後。
我發現是這樣的:
form = StockMovementForm(data=data)
Formset = inlineformset_factory(StockMovement, StockMovement.products.through, extra=2, can_delete=False)
formset = Formset(data=data)
if form.is_valid():
if formset.is_valid():
stock_movement = form.save()
objects = formset.save(commit=False)
for object in objects:
object.movement = stock_movement
object.save()
但我不知道這是否是一個很好的方式(發現here)。
你編輯stock_movement'的'現有實例或創建一個新的? – Brandon
這是一個新的stock_movement對象。我編輯該細節的問題。 – bux
嗯。使用嵌入式表單時,您需要使用相關模型的實例...您究竟想要做什麼? – Brandon