##作りたいもの
ユーザーが自分の趣味やスキルなどをテキストベースで紹介するポートフォリオサイト的なもの
##やりたいこと
Python
1class Box(models.Model): 2 title = models.CharField(max_length=50) 3 order = models.PositiveIntegerField() 4 5 6 def __str__(self): 7 return self.title 8 9 def description(self): 10 return self.title 11 12class TextBox(Box): 13 text = models.TextField(max_length=400) 14 15 def description(self): 16 return super().description + self.text 17 18class RatingBox(Box): 19 item = models.CharField(max_length=50) 20 rate = models.PositiveIntegerField() 21 22 def description(self): 23 return super().description() + self.item + "☆"*self.rate 24
上のようなBoxモデルを継承して子モデル(TextBox, RatingBox)をいくつか作り、全ての子モデルがdescriptionメソッドを持っています。この時、
python
1context = { 2 "object_list":Box.objects.all() 3}
をテンプレートに送り、子モデルのdescriptionメソッドをテンプレート内で呼び出したいのですが、親モデルの方が呼び出されてしまいます。解決策はあるのでしょうか。
##補足
ユーザーにTextBoxやRatingBoxが紐づいており、orderを設定することによりどの順番で表示させるかを決めることができます。Requestを送ったユーザーのBoxをcontextとして送信し、orderの順番通りに並べたいです。