code: def flux(self):
          
          try:
              check_solver_status(self._model.solver.status)
              return self.forward_variable.primal - self.reverse_variable.primal
          except AttributeError:
              raise RuntimeError(
                  "reaction '{}' is not part of a model".format(self.id))
          # Due to below all-catch, which sucks, need to reraise these.
          except (RuntimeError, OptimizationError) as err:
              raise_with_traceback(err)
          # Would love to catch CplexSolverError and GurobiError here.
          except Exception as err:
              raise_from(OptimizationError(
                  "Likely no solution exists. Original solver message: {}."
                  "".format(str(err))), err)
docs: The flux value in the most recent solution.
  
          Flux is the primal value of the corresponding variable in the model.
  
          Warnings
          --------
          * Accessing reaction fluxes through a `Solution` object is the safer,
            preferred, and only guaranteed to be correct way. You can see how to
            do so easily in the examples.
          * Reaction flux is retrieved from the currently defined
            `self._model.solver`. The solver status is checked but there are no
            guarantees that the current solver state is the one you are looking
            for.
          * If you modify the underlying model after an optimization, you will
            retrieve the old optimization values.
  
          Raises
          ------
          RuntimeError
              If the underlying model was never optimized beforehand or the
              reaction is not part of a model.
          OptimizationError
              If the solver status is anything other than 'optimal'.
          AssertionError
              If the flux value is not within the bounds.
  
          Examples
          --------
          >>> import cobra.test
          >>> model = cobra.test.create_test_model("textbook")
          >>> solution = model.optimize()
          >>> model.reactions.PFK.flux
          7.477381962160283
          >>> solution.fluxes.PFK
          7.4773819621602833