這是一個非常簡單的問題,讓我陷入困境。我有 2 個連接的表:Dealershiplistings、Dealerships。在我的網站上,我需要顯示汽車的型號、品牌和年份(這些都存盤在 DealershipListing 中,所以我對這部分沒有問題)但我還需要列印存盤在 Dealerships 表中的地址。誰能幫我這個?
這就是我的 views.py
def store(request):
dealer_list = Dealer.objects.all()
car_list = DealershipListing.objects.all()
context = {'dealer_list': dealer_list, 'car_list': car_list}
return render(request, 'store/store.html', context)
我試著做
{{%for car in car_list%}}
<h6>{{car.year}} {{car.make}} {{car.model}}</h6>
{% endfor %}
這可以完美地顯示這些。但是現在我如何顯示銷售汽車的經銷商的地址?
模型.py
class Dealer(models.Model):
dealersName = models.TextField(('DealersName'))
zipcode = models.CharField(("zipcodex"), max_length = 15)
zipcode_2 = models.CharField(("zipCode"), max_length = 15)
state = models.CharField(("state"), max_length=5)
address = models.TextField(("Address"))
dealerId = models.IntegerField(("ids"), primary_key=True)
def __str__(self):
return self.dealersName
class DealershipListing(models.Model):
carID = models.IntegerField(("CarID"), primary_key=True)
price = models.IntegerField(('price'))
msrp = models.IntegerField(('msrp'))
mileage = models.IntegerField(('mileage'))
is_new = models.BooleanField(('isNew'))
model = models.CharField(("Models"), max_length= 255)
make = models.CharField(("Make"), max_length=255)
year = models.CharField(("Year"),max_length=4)
dealerID = models.ForeignKey(Dealer, models.CASCADE)
def __str__(self):
return self.year " " self.make " " self.model
uj5u.com熱心網友回復:
那么看起來你的問題是真的 How do I access data from a foreign key in a template?
答案簡單得令人耳目一新!
{{car.dealerID.address}}
附帶說明一下,您可能想要重命名dealerID為dealer,django 將處理 db 列名稱,因為它認為合適,因此雖然您可能使用.dealerdb 列訪問資料,但dealer_iddjango 會自動命名。重命名該欄位還可以讓您更清楚地看到,訪問它會為您提供經銷商而不是其 ID。
uj5u.com熱心網友回復:
我更喜歡用型號名稱呼叫
{{obj.related_table.field_name}}
我認為這種模式可以幫助您解決與獲取相關欄位值相關的問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/371704.html
標籤:姜戈
