1
deals_formset_factory = modelformset_factory(Deal, form=DealCForm, extra=1)
attached_deals_formset = deals_formset_factory(request.POST, prefix='deals')
當由於我Deal
模型的某些字段未在形式示出,因此不能由用戶設置(但M2M字段被示出,並且可以由用戶設定),我不能只是做一個如何保存M2M場一個formset提交=假
for fm in attached_deals_formset:
if fm.has_changed():
fm.save()
因爲它會中斷。
所以理論上在這種情況下的想法是做
deal = fm.save(commit=False)
...
deal.save()
但這不是我的M2M領域內保存處理。直通表保持不變。解決這個問題的最佳方法是什麼?
class Deal(models.Model):
deal_id = UUIDField()
....
sales_item = models.ManyToManyField(SalesItem)
你試過重寫窗體的save()方法嗎? – karthikr