私は、いとこ関連モデルからデータを取得する方法のドキュメントや例を探すのに苦労しています。だから、テンプレート内の関連するいとこモデルを取得する
モデルは次のようになり場合:
class Part(models.Model):
name = models.CharField(max_length=550)
class Quantity(models.Model):
quantity = models.DecimalField(max_digits=10, decimal_places=2)
part = models.ForeignKey('Part', related_name='quantity_part')
stockarea = models.ForeignKey('StockArea', related_name='quantity_stockarea')
class Stock(models.Model):
name = models.CharField(max_length=550)
class StockArea(models.Model):
area = models.CharField(max_length=550)
stock = models.ManyToManyField(Stock, related_name='stockarea_stock')
def __str__(self):
return self.area
、ビューに私はこのような部分を取得する:
def details(request, part_id):
part = get_object_or_404(Part, pk=part_id)
context = {
'part': part,
}
return render(request, 'part/details.html', context)
は、最後にデータを表示しようとしているテンプレート:
{% for a in part.quantity_part.all %}
{{ a.quantity }} pcs
Find part in area: {{ a.stockarea }}
in stock: {{ part.stockarea.stock.name }}
{% endfor %}
私は株式の名前を取得しようとします。私は株式の名前を取得する方法を把握することはできません。私はその部分から道があります。 部分はrelated_name
からの数量quantity_park
となります。そしてモデルで数量私はモデルとの関係がありますStockArea。そして、そこから私はモデルとの関係を持っています株。
ガイダンスははるかに高く評価されている=)
は、たぶん私は完全に後方にこれをやっています。たぶん私はモデルを間違って定義するつもりです。私はMySQLに慣れているので、これは私にはとても新しいものです。
を変更株価があなたのstockareaモデルで多対多分野であるので、あなたはそれらの名前を取得するにはstockarea内のすべての株式をループを必要としています。次のようなものがあります: '{a.stockarea.stock.all%}のストックに対する%{{株価}} {%endfor%} ' – anupsabraham
@anupsabrahamあなたは正しいです。それはおそらく私のほんのばかだ。 1つの_area_はもちろん1つの_stock_にのみ関連しています。 – sumpen
次に、そのフィールドをonetooneまたはforeignkeyに変更することをお勧めします。 – anupsabraham