'Returns the latest object, according to the model\'s \'get_latest_by\'
option or optional given field_name.'

def latest(self, field_name=None):

    latest_by = (field_name or self.model._meta.get_latest_by)
    assert bool(latest_by), "latest()    requires    either    a    field_name    parameter    or    'get_latest_by'    in    the    model"
    assert self.query.can_filter(), 'Cannot    change    a    query    once    a    slice    has    been    taken.'
    obj = self._clone()
    obj.query.set_limits(high=1)
    obj.query.add_ordering(('-%s' % latest_by))
    return obj.get()
