光ファイバーケーブルを追跡するための Django アプリの構築に取り組んでいます。relatedmanager と思われるもので問題が発生しています。テンプレートによっては、やりたいことを実行できますが、他のテンプレートでは実行できません。
私がやろうとしていることの実例:
<ul>
{% for lanroom in building.lanroom_set.all %}
<li><a href="/lanrooms/{{ lanroom.id }}/">{{ lanroom.lan_room_name }}</a></li>
{% endfor %}
</ul>
これが行うことは、建物が詳細に表示されている LAN ルームのセットを外部キーとして取得することです。
私がやろうとしているのは、ケーブルのストランドをアダプタ プレート コネクタに接続することです。したがって、そのテンプレートには次のものがあります。
<li>Date Added: {{ adaptorplateconnector.date_added }}</li>
<li>Connector Type in {{ adaptorplateconnector }}:</li>
<ul>
<li><a href="/connectortypes/{{ adaptorplateconnector.connector_type_id.id }}/">{{ adaptorplateconnector.connector_type_id.type }}</a></li>
</ul>
<li>Strand connected to {{ adaptorplateconnector }}:
<ul>
{% for strand in adaptorplateconnector.strand_set.all %}
<ali><a href="/strands/{{ strand.id }}/">{{ strand }}</a></li>
{% endfor %}
</ul>
それでも、アダプター プレート コネクタに接続されているストランドが得られません。関連するモデルは次のとおりです。
class AdaptorPlateConnector(models.Model):
adaptor_plate_id = models.ForeignKey('AdaptorPlate')
connector_type_id = models.ForeignKey('ConnectorType')
strand_position = models.CharField(max_length=200)
date_added = models.DateTimeField(auto_now_add=True)
def __unicode__(self):
return self.strand_position
class Strand(models.Model):
cable_id = models.ForeignKey('Cable')
end1_plate_connector_id = models.ForeignKey('AdaptorPlateConnector', related_name= 'end1_adaptor_plate_connector')
end2_plate_connector_id = models.ForeignKey('AdaptorPlateConnector', related_name= 'end2_adaptor_plate_connector')
in_use = models.CharField(max_length=200)
desc = models.CharField(max_length=200)
date_added = models.DateTimeField(auto_now_add=True)
def __unicode__(self):
return "End1: " + self.end1_plate_connector_id.__unicode__() + ", End2: " + self.end2_plate_connector_id.__unicode__() + ", Cable: " + self.cable_id.__unicode__()
詳細に表示されている AdaptorPlateConnector に関連するストランドのリストを取得するにはどうすればよいですか? どんな洞察も大歓迎です。私は汎用ビューを使用しており、このテンプレートは DetailView 用です