Use `self.reload(self.SO)` instead of `self.S0` to ensure datas are persisted onto the DB