2010-10-28 14 views
0

[python 2.6 - django 1.1.1]Django:ORM對象在_meta.local_fields中沒有任何東西

Hello。

我正在爲我的django應用程序編寫一個自定義序列化程序。

我使用的所有對象都是從django模型類派生的代理對象,並實現了我必須序列化的特殊成員(因此是自定義序列化器)。

所以我開始實現一個新的抽象序列化器,它繼承了django.core.serialiazer.base.Serializer並重新編寫了serialize(...)方法。我還開始了一個python具體的序列化器(我自己的基序列化器的子類),這是定製dict所需的。

問題是,當我的查詢集進入serialize()方法時,其中的每個obj都有一個空列表([]),代表obj._meta.local_fields。因此,我的序列化python字典幾乎是空的(除了主鍵&模型),因爲我依賴這個列表。

我似乎無法找到該字段在哪裏被引用。我不明白,爲什麼_meta.local_fields是不一致的,當我使用我的序列化程序,而不是當我使用Django的序列化程序(我通過代理對象相同的查詢集)。

謝謝。

編輯:我想也許一些__init__代碼在Django包的某個地方有效果,但我也找不到在這個方向上的任何東西。

回答

0

似乎代理對象沒有設置local_fields,這將是合乎邏輯的。我剛剛發現了一些在現有的代碼(利用Django的python序列化程序),圍繞缺乏local_fields ...

我認爲我的問題是無效的: -/