deals_formset_factory = modelformset_factory(Deal, form=DealCForm, extra=1)
attached_deals_formset = deals_formset_factory(request.POST, prefix='deals')
モデルの一部のフィールドがDeal
フォームに表示されないため、ユーザーが設定できないため(ただし、M2Mフィールドが表示され、ユーザーが設定できます)、
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)