別のフォームにフォームを表示したい。例えば別のフォームにフォームを表示
Iは、これらのモデルを有する:
class Measure(models.Model):
length = models.ForeignKey(Statistics, related_name='Length', null=True, blank=True)
surface_area = models.ForeignKey(Statistics, related_name='Surface area+', null=True, blank=True)
section_area = models.ForeignKey(Statistics, related_name='Section area+', null=True, blank=True)
volume = models.ForeignKey(Statistics, related_name='Volume', null=True, blank=True)
diameter = models.ForeignKey(Statistics, related_name='Diameter', null=True, blank=True)
class Statistics(models.Model):
total = models.FloatField('Total', null=True, blank=True)
avg = models.FloatField('Average', null=True, blank=True)
min = models.FloatField('Minimum', null=True, blank=True)
max = models.FloatField('Maximum', null=True, blank=True)
standard_deviation = models.FloatField('Standard deviation', null=True, blank=True)
を、その後、私は以前のモデルに対応するこれらのフォームを有する:コンボボックスがすべて含まれるような形でのForeignKeyがレンダリングされる
class StatisticsForm(forms.ModelForm):
class Meta:
model = Statistics
fields = '__all__'
class MeasureForm(forms.ModelForm):
class Meta:
model = Measure
fields = '__all__'
# Here I have to say that the right form for each field is the StatisticForm
を他のテーブルのオブジェクト(私の場合はStatisticsテーブル)のコンボボックスをStatisticsFormのオブジェクトに置き換えて統計オブジェクトをレンダリングする方法を制御できます。
ありがとうございました。
あなたが求めていることはあまり明確ではありませんが、[formsets](https://docs.djangoproject.com/en/dev/topics/forms/formsets/)を探しているようですね – solarissmoke
The ForeignKey in theフォームは、他のテーブル(私の場合はStatisticsテーブル)のすべてのオブジェクトを含むコンボボックスとしてレンダリングされるので、コンボボックスをStatisticsFormのオブジェクトに置き換えて、Statisticsオブジェクトをレンダリングする方法を制御できます –