多くのフィールドを持つモデルがあり、そのために 2 つの部分フォームを作成しています
#model
class Line_Settings(models.Model):
....
line = models.ForeignKey(Line)
All = models.BooleanField(default=False)
Busy = models.BooleanField(default=False)
MOH = models.CharField(max_length=100, blank=True, null=True)
PLAR = models.CharField(max_length=100, blank=True, null=True)
....
def save(self, commit = True, *args, **kwargs):
....
#Partial model form1
class General(ModelForm):
class Meta:
model = Line_Settings
fields = ('MOH','PLAR')
#Partial model form2
class Common(ModelForm):
class Meta:
model = Line_Settings
fields = ('All','Busy')
追加のロジックを実行するために、Line_Settings モデルの保存を上書きしました。
ロジックで使用するために、上書きされた save メソッドにいくつかのパラメーターを渡すことができる必要があります。
私のビューでは、2 つのパーシャル フォームに投稿データを入力し、save を呼び出すことができます。
call_forwards = Common(request.POST, instance=line_settings)
general = General(request.POST, instance=line_settings)
次のようにパラメーターを保存に渡す必要があります。
call_forwards.save(parameter="value")
general.save(parameter="value")
カスタム save() メソッドに引数を渡すことについて言及しました
部分フォームの保存を上書きすると、パラメーターにアクセスできます。
# overwritten save of partial form
def save(self, parameter, commit=True):
print("In save overwrite Partial form Common "+str(parameter))
#how Can I pass this parameter to the model save overwirite?
super(Common, self).save(commit)
部分的な形式から、パラメーターを元のモデル (Line_Settings) に到達させて上書き保存するにはどうすればよいですか?
これはできますか?読んでくれてありがとう!