在Django中,有没有一种简单的方法来测试对象上的模型字段是否已经从数据库中查询过(例如来自外键关系的对象)?
我想在我的一个测试中做出这样的断言,以确保访问我的一个对象上的特定属性不会触发额外的数据库查询.
在ForeignKey的特定情况下,您可以检查_FOO_cache
属性的存在.例如,如果您的Employee对象具有到公司的ForeignKey,那么如果my_employee.company
填充my_employee._company_cache
则会存在,所以您可以这样做hasattr(my_employee, '_company_cache')
.