【发布时间】:2010-10-05 18:21:28
【问题描述】:
我有一个 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()
所以这就是我可以要求的。
【问题讨论】:
标签: python django encoding django-models binary-data