Instead of using a "public" method which starts with an underscore
(which leads to errors if forgotten to call, and also some frameworks
prevent calling of leading-underscore methods from template code for
safety), just iterate the collection directly.
That is, instead of writing
for row in collection.rows:
collection._set_active(row)
… do something with this row
you can now simply write
for row in collection:
… do something with this row
Instead of using a "public" method which starts with an underscore (which leads to errors if forgotten to call, and also some frameworks prevent calling of leading-underscore methods from template code for safety), just iterate the collection directly.
That is, instead of writing
you can now simply write