我有一个20字节的十六进制哈希,我想存储在django模型中.如果我使用文本字段,它将被解释为unicode并且它会返回乱码.
目前我正在编码并对其进行解码,这真的使代码混乱,因为我必须能够通过它进行过滤.
def get_changeset(self): return bin(self._changeset) def set_changeset(self, value): self._changeset = hex(value) changeset = property(get_changeset, set_changeset)
这是一个过滤的例子
Change.objects.get(_changeset=hex(ctx.node()))
这是django开发人员推荐的方法,但我真的很难接受这样一个事实,就是存储20个字节就是这个丑陋的事实.
也许我太过纯粹主义者了,但理想情况下我能够写作
Change.objects.get(changeset=ctx.node())
这些属性允许我写:
change.changeset = ctx.node()
这就像我可以问的那样好.