フォームセット内のすべての新しいフォームのための多対多の関係を記入(簡体字):ジャンゴ:私はこれらの3つのモデルを使用してい
class Model1(models.Model):
field1 = models.CharField(max_length=25)
class Model2(models.Model):
field1 = models.CharField(max_length=25)
class Model3(models.Model):
model1 = models.ForeignKey(Model1)
model2 = models.ForeingKey(Model2)
私はMODEL1のフォームや仕事Model2sためのフォームセットが、持っています問題は、formset内のすべてのModel2に対して、Model2とModel1を接続するModel3が必要であることです。
Model3を追加して、FormsetのModel2ごとに記入する方法を教えてください。
インラインフォームセットまたはモデルフォームセットを使用して解決策を見つけようとしましたが、まだ実際には理解できません。私はそれが正しい方向であるかどうかも分かりません。
私は正しい方向に私を指し示すものを探しています。
if model_one_form.is_valid() and model_two_formset.is_valid():
obj_one = model_one_form.save()
for model_two_form in model_two_formset:
obj_two = model_two_form.save()
obj_three = Model3.objects.create(model1=obj_one, model2=obj_two)
この単純な簡単なのManyToManyFieldを使用して、より良い行うことができる何かと思われる、またはあなたの場合:上記の私の質問を想定し
Model3はModel2のみをModel1に接続するため、ユーザーデータは必要ありません。それは事実ですか?その場合、フォームのセーブロジックでこれを実現することができます。送信されたformset内のすべてのModel2インスタンスが、送信されたModel1インスタンスへのリンクを必要とするかどうかによって異なります。 – nimasmi