Я только что переписал большой кусок кода Django, связанный с FSM с 40 состояниями. Существует множество STATE_DEFINITIONS = "4.7.1" для каждой из трех задействованных моделей и множество проверок, если текущее состояние == SOME_STATE или в [ONE_STATE, OR_ANOTHER].
Есть только одно место, где я использую словарь. скажем, одна из моделей выглядит так:
class OneModel(models.Model):
STATUS_ONE = "1.0"
STATUS_TWO = "2.0"
STATUS_MAPPING = {
STATUS_ONE:OtherModel.STATUS_X,
STATUS_TWO:OtherModels.STATUS_Y,
}
Все ключи представляют собой уникальные строки, и если я уберу их из кода, произойдет то же самое.
Когда я python manage.py test my_app
получаю, пожалуй, наименее полезное сообщение об ошибке: TypeError: unhashable type: 'list'
Вот и все, ни строчки, где это происходит, ни контекста. Есть ли у кого-нибудь какие-либо предложения о том, как отладить это, не включающее построчный просмотр 800+ в файле?