Yup, this has been on the todo list for quite some time. We even
discussed it at PyCon a couple years ago as we kicked off
newforms-admin. A few things that I recall from that discussion:
* We decided that we'd like to remove ``order_with_respect_to`` —
particularly the way it adds a magical ``_order`` field — in favor of
an explicit ``OrderingField``.
* This would work with related objects::
class Poll(Model):
...
class Choice(Model):
poll = ForeignKey(Poll, related_name="choices")
order = OrderingField(with_respect_to="poll")
* This would give you an API that provided things like
``poll.choices.in_order()`` and ``poll.choices.set_order()``.
* ``OrderingField``s would also work without a related object::
class Person(Model):
order = OrderingField()
* That'd allow APIs like ``Person.objects.in_order()`` and
``Person.objects.set_order()``.
I can't recall more of this discussion, but perhaps this'll be enough
to get you (or someone) started?
Jacob