有史以来帮助最小的错误:TypeError:unshable type:'list'

2024-05-28 21:00:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我只是重新编写了一大块Django代码,它与一个40多岁的州FSM有关。对于所涉及的三个模型,有许多STATE_DEFINITIONS=“4.7.1”,并且需要检查当前状态是否=某个_状态或处于[一种状态,或另一种状态]。在

我只有一个地方可以用字典。假设其中一个模型看起来像:

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+有什么建议吗?在


Tags: django代码模型字典models状态status地方
3条回答

如果安装了ipython,可以尝试:ipython -i manage.py test my_app。然后输入%debug命令来调试它。在

尝试传递 traceback选项。在

检查manage.py是否存在异常吞咽行为;可能是类似于:

try:
    ....
except Exception, exc:
    print exc.message

如果找到它,请将其改为raise,这样就可以看到整个回溯。在

相关问题 更多 >

    热门问题