manager.py 833 B

123456789101112131415161718192021
  1. from __future__ import unicode_literals
  2. from django.db.models import Manager
  3. from sqlserver_ado.models.query import RawStoredProcedureQuerySet
  4. class RawStoredProcedureManager(Manager):
  5. """
  6. Adds raw_callproc, which behaves the same as Manager.raw, but relies upon
  7. stored procedure that returns a single result set.
  8. """
  9. def raw_callproc(self, proc_name, params=None, *args, **kwargs):
  10. """
  11. Execute a stored procedure that returns a single resultset that can be
  12. used to load the current Model. The return value from the stored
  13. procedure will be ignored.
  14. proc_name is expected to be properly quoted.
  15. """
  16. return RawStoredProcedureQuerySet(raw_query=proc_name, model=self.model,
  17. params=params, using=self._db, *args, **kwargs)