[編輯:使用Django-1.1.1]Django的解串器,具有字段設置爲連載=假
您好,
我使用存儲一個blob django的類(字符串B64編碼更確切地說)對應於對象的圖標。
我將對象序列化爲json以與不同的前端客戶端進行通信。
我不希望暴露在JSON結果純圖標BLOB(但一定URL下的身份侍奉圖像),所以我的圖標區域被定義爲這樣的:
icon = models.TextField(null=True, serialize=False)
但是,當時間來保存我的對象,我失去了我的圖標,因爲顯然,值不是由傳入的json詞典設置的。
我想寫一寫的黑客就像這樣:
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每次查詢,再加上,它會無限期遞歸如果圖標實際上是無。
另一種方法是重寫解串器。
有什麼解決方法,使用Django的內部機制?
這將工作,但我使用泛型代碼(對於所有對象類型)通過我的URL序列化/反序列化,所以我暫時不能使用它。但是,實現類型特定的代碼是完全可能的。 感謝您的提示! – 2011-05-26 12:06:36