時に私は、これらのモデルを作成しました:ジャンゴ:フィルタによる動的インラインフォームユーザ選択
class Service(models.Model):
name = models.CharField(blank=False, max_length=200)code here
class Monitor(models.Model):
name = models.CharField(blank=False, max_length=100)
services = models.ManyToManyField(Service, related_name='monitors')
class Student(models.Model):
name = models.CharField(blank=False, max_length=100)
class ServiceMonitors(models.Model):
student = models.ForeignKey(Student, on_delete=models.CASCADE)
service = models.ForeignKey(Service, on_delete=models.CASCADE)
monitors = models.ManyToManyField(Monitor)
これらのモデルは、学生に多くのサービスを提供する会社を表しています。この会社で働くモニターは、提供するサービスが必要な学生に割り当てられます。モニターは多くのサービスを提供することができ、それらのすべてのために多くの学生を持っています。また、学生は多くのサービスとモニターを持つことができます。
3つのサービスs1、s2、s3があるとしましょう。新しいMonitorを作成するときに、これらのサービスのいくつかを割り当てます。s1とs3としましょう。その後、新しい生徒を作成するときに、生徒が持つサービスとモニターを選択できるようになります。ドロップダウンコントロール一度
- :ここ
私の問題は、私は私を可能に学生(名前、電話番号、など...)を作成するためのフォームを必要とするということですサービスが選択されている場合は、そのサービスを提供するモニターをフォームに表示する必要があります。そのため、1つ以上のチェックボックスを選択できます。
- プロセスを繰り返すために新しいフォームを作成/表示するためのボタンです。したがって、 は新しいサービスと関連するモニターを選択できます。
私はDjangoの新機能です。私は、ユーザー作成フォームでインラインフォームを作成することができましたが、私はここで立ち往生しています。私は今サービスを選択するためのドロップダウンコントロールと、すべてのモニターを表示するCheckboxSelectMultipleウィジェットでModelMultipleChoiceFieldを持っています。ここから、ユーザーがサービスを選択したときにこれらのモニターをフィルターする方法と、新しいサービス/モニターを選択するために新しいフォームを追加する方法を知る必要があります。
ありがとう、私はカスタムフォームとJSでこれを試してみると思います。ユーザーがサービスを選択すると、すべてのサービスをチェックボックスとして表示し、関連するモニターを表示しようとします。このようにして、すべての情報をクライアント側にフィルタリングすることができます。 – ESS