2
私は、MySQL DB持っている:Djangoのモデルでジャンゴ()
:それをすべき出力で
class Record(models.Model):
schema_id = models.IntegerField()
project_id = models.IntegerField()
name = models.CharField(max_length=50)
class Value(models.Model):
record = models.ForeignKey(Record)
key = models.ForeignKey(Key)
value = models.CharField(max_length=255)
class Key(models.Model):
name = models.CharField(max_length=50)
encode = models.BooleanField(default=False, blank=True)
は次のようになります。
## record.name ##
key.name - value.value
key.name - value.value
...
## record.name ##
key.name - value.value
key.name - value.value
...
次のコードを使用して試してみますが、データベースへのクエリが多すぎます。
.select_relatedを使用して#in view
records = Record.objects.filter(project_id=1)
#in template
{% for record in records %}
<table>
<tr>
<td class="legend">Record:</td>
<td>{{ record.name }}</td>
</tr>
{% for value in record.value_set.all %}
<tr>
<td class="legend">{{ value.key.name }}:</td>
<td>{{ value.value }}</td>
</tr>
{% endfor %}
</table>
{% endfor %}
()私は2クエリ内のすべてのデータを取得するが、どのように類似した構造を得るために、テンプレートでこのデータを反復処理しますか?
records = Record.objects.filter(project_id=1)
values = Value.objects.filter(record__in=records).select_related().order_by('record')