アプリにはさまざまなモデルがあり、メイン モデルには他のモデルの複数のインスタンスがあります。
models.py:
class Person(models.Model):
...
class Pet(models.Model):
owner = models.ForeignKey(Person)
...
フォーム.py:
class PersonForm(forms.ModelForm):
class Meta:
model = Person
PetFormSet = inlineformset_factory(Person, Pet, extra = 1)
ビュー.py:
def add_template(request):
person_form = PersonForm(prefix = 'person_form')
pet_form = PetFormSet(instance = Person(), prefix = 'pet_form')
... # check is_valid(), render when no POST data is present, etc.
ポイントは、追加が完全に機能し、各インスタンスを対応するデータベース テーブルに格納するなどです。jquery.formset-1.2.js を使用して、「add.html」でフォームの動的な追加と削除を管理します。
しかし、後でビューを介して保存された情報を編集したい、つまり、リクエストで渡したオブジェクトからデータをロードし、データベースから取得したデータを使用してフォームセットをレンダリングします (編集中の人物に関連するペットが 3 匹いる場合) 、値が表示された「Pet」の 3 つのフォーム インスタンスを表示します)。
また、新しいペットを追加したり、既存のペットを削除したり、既存のフィールド値を変更したりしたいと考えています。
FormSet の作成でクエリセットを試しましたが、何も表示されません。
この問題を緩和する方法はありますか? アプリを使ってフォームセットを簡単に管理できますか?
ありがとうございました