python – Django:使用对象作为字典键是否合理?
发布时间:2020-12-16 23:17:04 所属栏目:Python 来源:网络整理
导读:在 django中使用对象作为字典的键是否合理?我这样做了,它的确有效.但我想知道这是不是最好的做法,或者是否会造成我现在还没有预见到的困难. 我正在研究一个处理教育标准的项目.我的字典结构与{Subject:[Standards]}一致.主题的模型看起来像: class Subjec
在
django中使用对象作为字典的键是否合理?我这样做了,它的确有效.但我想知道这是不是最好的做法,或者是否会造成我现在还没有预见到的困难.
我正在研究一个处理教育标准的项目.我的字典结构与{Subject:[Standards]}一致.主题的模型看起来像: class Subject(models.Model): subject = models.CharField(max_length=255,unique=True) def __unicode__(self): return self.subject 是否可以使用此模型中的对象作为我的词典的键,或者我应该使用字符串表示,例如Subject.subject? 如果是这样,unicode方法会影响这个吗?当我尝试使用Subject.subject作为键时,我得到的内容类似于{u’Math’:[< Subject:学生可以执行计算.>]}使用对象作为键,它看起来像{< Subject:Math> :[<标准:学生可以执行计算.>]} 这是我昨天提到的关于using None as a dictionary key的问题的后续跟进. 解决方法
可变对象不应该真正用作字典键.也就是说,这是有效的,因为基础模型类根据模型的主键定义__hash__,这不太可能改变.但我更愿意直接使用pk作为关键.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |