Ticket #249 (closed enhancement: fixed)

Opened 4 years ago

Last modified 4 years ago

Protocol.py: enable orderby results

Reported by: dcorpataux Owned by: fredj
Priority: minor Milestone: 1.1 Release
Component: General.server Version: SVN
Keywords: Cc:
State: Commit

Description (last modified by fredj) (diff)

The protocol should support orderby and sort order. Controllers should be able to set the orderby field when calling Protocol.index().

Therefore, Protocol.index signature should be:

index(self, request, response, format='json', filter=None, orderby=None, asc=True)

Attachments

protocol.order_by.patch (2.7 kB) - added by fredj 4 years ago.
first sketch …
protocol.order_by.2.patch (2.7 kB) - added by fredj 4 years ago.
protocol.order_by.3.patch (2.8 kB) - added by fredj 4 years ago.
don't use a default order_by

Change History

Changed 4 years ago by fredj

  • description modified (diff)

Note: by default, SA does not generate ordering for any query unless explicitly configured. (see http://www.sqlalchemy.org/docs/05/documentation.html#advdatamapping_mapper_orderby)

Changed 4 years ago by fredj

first sketch ...

Changed 4 years ago by fredj

Changed 4 years ago by fredj

  • state set to Review

Changed 4 years ago by fredj

(In [1169]) allow to specify the order_by (see #249)

Changed 4 years ago by fredj

don't use a default order_by

Changed 4 years ago by elemoine

  • state changed from Review to Commit
  • milestone set to 1.1 Release
  • If _def_order_by I think we should be more careful and check that request.paramssort? actually refers to an existing column, possibly with:
col = request.params['sort']
if col in self.__table__.c.keys()
  • In _def_order_by, I'd rather go with order_by variable initialized to None and a single return statement
  • We talked about having "sort" being an alias to "order_by" ("order_by" overrides "sort"), currently the order_by param isn't supported, can you add that?

Once done, go ahead and commit.

Changed 4 years ago by fredj

  • status changed from new to closed
  • resolution set to fixed

(In [1221]) enable order_by in server protocol. r=elemoine (close #249)

Note: See TracTickets for help on using tickets.