Если введенная вами дата имеет формат «ГГГГ-ММ-ДД», то у вас нормально работает код. Есть несколько посторонних вызовов str (), и да, было бы правильнее использовать strptime, но ничего, что могло бы сломаться.
Например, это работает:
Python 2.5.2 (r252:60911, Apr 15 2008, 11:28:25)
[GCC 3.4.6 20060404 (Red Hat 3.4.6-9)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> startdate = '2002-04-20'
>>> splitdate = startdate.split('-')
>>> type(splitdate[0])
<type 'str'>
>>> splitdate[2]+splitdate[1]+splitdate[0]
'20042002'
Итак, я бы посмотрел два места:
- Какой формат вы получаете от self.request.get ('startdate') и храните в DateToPass?
- Вы не показали нам код, в котором вы храните сортировку. Это сломано?