グローバルな質問と、シグナルのコンテキストにおける特定の問題に関する質問があります。どのような問題を解決するために、シグナル ディスパッチャが最も便利ですか。
複数のモデルフォームを外部キーで保存する際に問題があります。これは信号で解決できると思いました。しかし、信号の範囲を理解していないため、方法がわかりません。
モデル
class CV(models.Model):
title = models.CharField(max_length=255)
# And other fields...
class HigherEducation(models.Model):
cv = models.ForeignKey(CV, blank=True, null=True)
institution = models.CharField(max_length=255)
# And other fields...
class ProfessionalExperience(models.Model):
cv = models.ForeignKey(CV, blank=True, null=True)
company_name = models.CharField(max_length=255)
# And other fields...
すべてのフォームは、上記のモデルから継承されたモデルフォームです。最後の 2 つは modelformsets で使用されます。このフォームはすべて、テンプレート内の 1 つの html フォームに表示されます。
フォーム
class CVForm(forms.ModelForm):
class Meta:
# All the stuff
class EducationForm(forms.ModelForm):
class Meta:
# All the stuff
class ExperienceForm(forms.ModelForm):
class Meta:
# All the stuff
Education = modelformset_factory(HigherEducation,
form=EducationForm,
max_num=2)
Experience = modelformset_factory(ProfessionalExperience,
form=ExperienceForm,
max_num=1)
ビューでは、現在のモデルの割り当てられた ID を使用してフィールドEducationForm
をExperienceForm
保存する必要があります。cv
CV
この問題を信号で解決できますか?
問題の定式化が難しかったので、不明な点があれば質問を編集します。