Rendering does not reflect the new rotation of my character after using Blender's Python API's rotation_euler function
Update your scene using bpy.context.scene.update() and you should get the result that you expect.

So your code should look like this:

for i in range(0, 8):
    model.rotation_euler = (0,0,2 * pi * i / 8)
    bpy.context.scene.update()
    bpy.ops.render.render(write_still=True)