Django反序列化器,其字段设置为serialize = False
||
[编辑:使用django-1.1.1]
你好,
我正在使用django类,该类存储与对象图标相对应的blob(更精确地编码为b64的字符串)。
我将对象序列化为json以与不同的前端客户端进行通信。
我不想在json结果中显示纯图标blob(但将其作为图像显示在某个url下),因此我的icon字段定义如下:
icon = models.TextField(null=True, serialize=False)
但是当需要保存对象时,我会丢失图标,因为很明显,该值不是由传入的json字典设置的。
我想这样写一个hack:
class MyIconizedClass(models.Model):
def __init__(self, *args, **kwargs):
if self.pk is not None and self._icon is None:
old_self = MyIconizedClass.object.get(pk=self.pk)
self.icon = old.self.icon
对此并不十分满意,因为它每次都会在DB中查询,而且,如果图标实际上是None,它将无限期递归。
另一种方法是重写解串器。
有没有使用Django内部机制的解决方法?
没有找到相关结果
已邀请:
2 个回复
呕蹿尉
它还会查询数据库,但不会引起任何递归。
挂帘妈乡
当使用某些URL入口点(例如)时,我仅按需查询IconClass表 GET / iconized / 42 / icon PUT /图标化/ 42 / icon 删除/ iconized / 42 / icon 访问对象本身时,我不需要了解图标(GET / iconized / 42)。