【发布时间】:2012-11-16 23:31:50
【问题描述】:
假设我有:
class Library(models.Model):
name = models.CharField(max_length = 100)
class Books(models.Model):
library = models.ForeignKey(Library)
book = models.CharField(max_length = 100)
我想创建一个新的Books,我们知道我们可以只用Library 的ID 填充Books 上的库,但我们也可以使用Library 的实例。我的问题是,如果我们只提供 id 会更好吗?如果我想使用实例,那么我必须使用.get() 进行评估,然后它会命中数据库吗?
附加问题:从文档来看,queryset 是惰性的,它在评估之前不会访问数据库,那么 queryset 什么时候评估?
【问题讨论】: