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