有什么 hex str to BinaryField 的优雅实现?
class BinaryToHexField(BinaryField):
description = _("Raw binary data to hex str")
def __init__(self, *args, **kwargs):
kwargs['editable'] = True
super().__init__(*args, **kwargs)
def value_to_string(self, obj):
value = self.value_from_object(obj)
return value.hex(value)
def to_python(self, value):
if isinstance(value, str):
return bytes.fromhex(value)
return value
这个 value_to_string() 为啥不能作用到默认 url 上(默认 pk 渲染出来是 b'xxxxxxxxxxxxxxxxxxx' )?好像还有其他的问题,没 debug 全。
是要去重写 get_db_prep_value() 吗?
提问原因:我想做个 hex str => BinaryField 的转换,原先用的是重写 model.save(),但是感觉太重了,想自定义个 Field 来实现。
或者说有什么 hex str to BinaryField 的优雅实现?
评论 0