Buena explicación:
https://stackoverflow.com/questions/17657720/python-list-comprehension-double-for
Nuestro ejemplo, esto puede dar un singelton error:
ml.lot_id.name or » for ml in l.move_line_ids.active_move_line_ids
Y es equivalente a:
for ml in l.move_line_ids.active_move_line_ids
ml.lot_id.name
Por lo que lo suyo es pasarlo a esto:
[ml.lot_id.name or » for move in l.move_line_ids for ml in move.active_move_line_ids]
Que es equivalente a:
for move in l.move_line_ids
for ml in move.active_move_line_ids
ml.lot_id.name