Guestbook.post_date
- это экземпляр класса, который реализует метод __neg__
для возврата объекта, который сообщит API базы данных о порядке убывания по этому столбцу.
Вот небольшой пример того, как это работает (очевидно, реальный класс намного сложнее):
class SqlOrder(object):
def __init__(self, column, order='ASC'):
self.column = column
self.order = order
def __neg__(self):
return SqlOrder(self.column, 'DESC')
def __str__(self):
return '%s %s' % (self.column, self.order)
>>> foo = SqlOrder('foo')
>>> str(foo)
'foo ASC'
>>> str(-foo)
'foo DESC'