我刚刚重写了大量与 40 多个状态 FSM 有关的 Django 代码。对于所涉及的三个模型中的每一个,都有很多 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+ 行?
最佳答案
尝试传递 --traceback
选项。
关于python - 有史以来最没有帮助的错误 : TypeError: unhashable type: 'list' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20390510/