私が持っているとします:
models.py:
class Books(models.Model):
title = models.CharField(max_length = 200)
author = models.CharField(max_length = 200)
price = models.CharField(max_length = 200)
とでmanage.py shell
:
# hits the database
>>> book_one = Books.objects.get(id = 1)
# hits the database
>>> foo = book_one.title
u'Foo book'
上記のコードを想定すると、入力するとbook_one.author
、データベースに再度ヒットします。
select_related()
if i type book_one.title
or book_one.author
orを使用しbook_one.price
て、データベースをインスタンス化する場合にのみ、データベースに再度アクセスするつもりはありません。
入力books = Books.objects.all()
してmanage.py shell
、その特定の値を保存したいとしましょう(保存title
とフィールドのみが必要だとしましょう)のようなループauthor
を使用して空のリストに:for
empty_list = []
for book in books:
empty_list.append([book.title, book.author])
# only 1 data, so we're gonna loop only once
問題は、上記のループに基づいて、データベースに何回ヒットするかということです。過ぎたから2回なbook.title
のbook.author
か1回だけなのか