python
1#models.py 2 3#工事名を登録するモデル 4class Site(models.Model): 5 id = models.IntegerField('工事番号', blank = True, primary_key = True, unique = True) 6 name = models.CharField(u'工事名称', blank = True, max_length = 100) 7 def __unicode__(self): 8 return self.name 9 10#支払いを登録するモデル 11class Payment(models.Model): 12 date = models.DateField(u'支払日') 13 payee = models.ForeignKey(Partner) 14 site_id = models.ForeignKey(Site) 15 contents = models.CharField(u'内容', max_length = 50) 16 ammount = models.IntegerField(u'金額')
上記のとおり、Paymentモデルは、site_idにおいて、Siteモデルを外部キーとして取り扱っています。
python
1#views.py 2def payment_detail(request,id): 3 paymentQuerySet = Payment.objects.filter(payee = id) 4 payment = [p for p in paymentQuerySet] 5 return render_to_response('cls/payment_detail.html', 6 {'payment' : payment}, 7 context_instance = RequestContext(request) 8 )
テンプレートは、下記のとおりです。
html
1#payment_detail.html 2{{payment.site_id}}
とすると、私としては、工事番号(Siteモデルのid)が表示されてほしいのですが、工事名(Siteモデルのname)が表示されています。
私の考えていたイメージでは、
paymentの属性の中に、siteモデルのidが含まれるので、idが表示されるべきかと思いきや、siteモデルの工事名が表示されたので、どうしたらよいかと考えています。
外部キーに関する理解が不足しているのだと思いますが、外部キーでデータを引っ張って来る時、どうしてidが表示されないのでしょうか?
分かりにくい質問で申し訳ありません。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/08/15 03:14