我想序列化一個對象,但這個對象不是一個模型,它只是一個普通的類。我該怎麼辦在django中序列化一個對象不是模型
class Test:
foo = []
bar = 1
a = tt()
class tt
a = "Test"
我想序列化一個對象,但這個對象不是一個模型,它只是一個普通的類。我該怎麼辦在django中序列化一個對象不是模型
class Test:
foo = []
bar = 1
a = tt()
class tt
a = "Test"
您確定要將其作爲對象嗎?看起來這將是一個嵌套的字典更好:
{
'foo': [],
'bar': 1,
'a': {
'a': 'Test'
}
}
這當然是通過json.dumps()
直接序列化到JSON。
序列化爲什麼目的?通常我是使用pickle來序列化對象的粉絲。
import pickle
my_obj = Test()
#to save it to file
pickle.dump(my_obj, open("save.p", "wb"))
#to read it from file
my_obj_reloaded = pickle.load(open("save.p", "rb"))
我不想保存一個對象到一個文件中。我只想爲我的移動應用程序返回一個響應我成功地序列化模型實例但我不想創建一個數據庫表來返回一個簡單的對象此對象包含對象列表在java中我使用gson庫這個庫序列化一切。有沒有辦法做到這一點。 – kgnzpk 2014-10-27 20:22:59
如果您通過API返回此數據,您可能希望將其作爲模型。當然,您可以使用https://docs.python.org/2/library/json.html json lib將其轉換爲json,然後在響應中傳遞它,但是IMO創建一個表並讓其餘API保持注意的。這就是它的目的。你不是通過不創建表來保存任何工作 – Tadgh 2014-10-27 20:36:03
我試過這個方法,但是當我嘗試通過這個方法序列化非模型對象時,它說....對象不可序列化 – kgnzpk 2014-10-27 21:34:35
這正是我想要的謝謝 – kgnzpk 2014-10-27 21:35:16