我只是重新编写了一大块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+有什么建议吗?在
如果安装了ipython,可以尝试:
ipython -i manage.py test my_app
。然后输入%debug
命令来调试它。在尝试传递
traceback
选项。在检查
manage.py
是否存在异常吞咽行为;可能是类似于:如果找到它,请将其改为
raise
,这样就可以看到整个回溯。在相关问题 更多 >
编程相关推荐