Djangoのモデルをviewの中で取得し、そこから特定の部分を取り出したいです。
models.py
1class NameAndAge(models.Model): 2 name = models.CharField() 3 age = models.IntegerField() 4 5 def __str__(self): 6 return '<' + self.name + '>' + '' + self.age
以上のようなモデルがあったときに、viewの中で
views.py
1obj = NameAndAge.objects.get(id=num)
として、一つだけオブジェクトを取り出すと
<hogehoge> 34
のように名前と値が取得できます。
しかし、ここで名前だけ、あるいは年齢だけを取得することはできないのでしょうか?
モデルのオブジェクトはインデックスにも対応していないようで、どのようにしてそれぞれ取得するのかがわからないです。。。
インデックスで取得できないか試してみたのですが、
TypeError: 'NameAndAge' object is not subscriptable
のエラーが出ています。
正規表現を使用して先頭の<
から次の>
まで、のような指定をして取り出すことになるのでしょうか?
それともモデルの定義の段階で、def __str__
メソッドを削除すべきなのでしょうか?
ご教示いただけますと幸いです。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。