1

外部キー関係オブジェクトを初期フォームにロードする初期データのセットを持つ Django フォームセットがあります。

{{ cellcountformset.management_form }}
{% for form in cellcountformset %}
<div id="">
    {{ form.errors }}
    {{ form.as_p }}
</div>
{% endfor %}

関連するモデルは次のようになります。

class CellType(models.Model):
    readable_name = models.CharField(max_length=50)
    machine_name = models.CharField(max_length=50)
    comment = models.TextField(blank=True)

class CellCount(models.Model):
    cell_count_instance = models.ForeignKey(CellCountInstance)
    cell = models.ForeignKey(CellType)
    normal_count = models.IntegerField()
    abnormal_count = models.IntegerField()
    comment = models.TextField(blank=True)

CellCount モデルの cell 属性で参照されるセルの machine_name を の として表示できるようにしたい#idですdiv。CellCount には ModelFormSet を使用します。これには、CellType オブジェクトのリストが初期データとして渡されます。

4

2 に答える 2

5

フォームの初期データは に保存されてform.initialいるので、次のことを試してください。

{{ form.initial.cell.machine_name }}
于 2012-10-01T22:09:55.733 に答える
0

フォーム フィールドを使用してモデルをトラバースし、マシン名を取得できるとは思いませんが、確認します。可能であれば、構文は次のようになります

<div id="{{ form.fields.cell.machine_name }}">

しかし、これにはカスタム テンプレート フィルターを作成する必要があると思います。フォームを引数として取り、それに関連付けられたマシン名を返します (フォームがバインドされていない場合は空白)。それからあなたは書くことができるでしょう

<div id="{{ form|machine_name }}">
于 2012-10-01T20:41:36.680 に答える