'''Copy django/contrib/admin/templatetags/adminapplist.py 
to the myapp/templatetags/ directory. say my_adminapplist.py 
'''

#my_adminapplist.py 

# under the block 
if True in perms.values():
    import random
    admin_order = random.randint(100,999)
    if hasattr(m, '_order'):
        admin_order = m._order
        model_list.append({
            'name': force_unicode(capfirst(m._meta.verbose_name_plural)),
            'admin_url': u'%s/%s/' % (force_unicode(app_label), m.__name__.lower()),
            'perms': perms,
            'admin_order':admin_order,
        })

# and then under model_list block:
if model_list:
    decorated = [(x['admin_order'], x) for x in model_list]
# this will sort the code based on admin_order key instead of alphabetical order

''' Most importantly, add a line `_order` in your model file for each Model'''

_order = 1 # this is the order in which the models will be ordered.