Сложно сказать, но проблема может быть в вашем отступе. Отступы в вставленном вами коде противоречивы, так что в любом случае он не будет работать должным образом - я подозреваю, что в вашем реальном коде def retrieve_rankdata
еще на пару мест слева.
Не забывайте, что Python использует отступ для определения, является ли атрибут или метод частью класса. Поэтому, если ваша строка def retrieve_rankdata
не имеет отступа на том же уровне, что и строка def __unicode__
, она не будет считаться частью класса Problem
.