from reobject.utils import signed_attrgetter

class QuerySet(list):
    def __init__(self, *args, **kwargs):
        super(QuerySet, self).__init__(*args, **kwargs)

    def count(self):
        return len(self)

    def delete(self):
        for item in self:
            item.delete()

    def exists(self):
        return bool(self)

    def order_by(self, *args):
        return type(self)(
            sorted(self, key=signed_attrgetter(*args))
        )

from reobject.utils import signed_attrgetter

class QuerySet(list):
    def __init__(self, *args, **kwargs):
        super(QuerySet, self).__init__(*args, **kwargs)

    def count(self):
        return len(self)

    def delete(self):
        for item in self:
            item.delete()

    def exists(self):
        return bool(self)

    def order_by(self, *args):
        return type(self)(
            sorted(self, key=signed_attrgetter(*args))
        )

    def reverse(self):
        return type(self)(
            reversed(self)
        )

Allow QuerySet objects to be reversed
Allow QuerySet objects to be reversed

  from reobject.utils import signed_attrgetter
  
  class QuerySet(list):
      def __init__(self, *args, **kwargs):
          super(QuerySet, self).__init__(*args, **kwargs)
  
      def count(self):
          return len(self)
  
      def delete(self):
          for item in self:
              item.delete()
  
      def exists(self):
          return bool(self)
  
      def order_by(self, *args):
          return type(self)(
              sorted(self, key=signed_attrgetter(*args))
          )
  
+     def reverse(self):
+         return type(self)(
+             reversed(self)
+         )
+ 
Allow QuerySet objects to be reversed
## Code Before:
from reobject.utils import signed_attrgetter

class QuerySet(list):
    def __init__(self, *args, **kwargs):
        super(QuerySet, self).__init__(*args, **kwargs)

    def count(self):
        return len(self)

    def delete(self):
        for item in self:
            item.delete()

    def exists(self):
        return bool(self)

    def order_by(self, *args):
        return type(self)(
            sorted(self, key=signed_attrgetter(*args))
        )

## Instruction:
Allow QuerySet objects to be reversed
## Code After:
from reobject.utils import signed_attrgetter

class QuerySet(list):
    def __init__(self, *args, **kwargs):
        super(QuerySet, self).__init__(*args, **kwargs)

    def count(self):
        return len(self)

    def delete(self):
        for item in self:
            item.delete()

    def exists(self):
        return bool(self)

    def order_by(self, *args):
        return type(self)(
            sorted(self, key=signed_attrgetter(*args))
        )

    def reverse(self):
        return type(self)(
            reversed(self)
        )
