def patch_queryset():
""" Patch QuerySet """
# Patch `ModelIterable.__iter__` method
@funcy.monkey(query.ModelIterable)
def __iter__(self):
tb = traceback.extract_stack()
queryset_storage = QuerySetStorage(self.queryset, tb)
current_request_storage.add_queryset_storage_instance(queryset_storage)
iterator = __iter__.original(self)
for model_instance in iterator:
wrapped_model_instance = ModelInstanceWrapper(model_instance)
queryset_storage.add_wrapped_model_instance(wrapped_model_instance)
yield wrapped_model_instance
评论列表
文章目录