【发布时间】:2010-10-28 09:35:29
【问题描述】:
[python 2.6 - django 1.1.1]
你好。
我正在为我的 django 应用程序编写自定义序列化程序。
我使用的所有对象都是从 django 模型类派生的代理对象,并实现了我必须序列化的特殊成员(因此是自定义序列化程序)。
所以我开始实现一个新的抽象序列化器,它继承django.core.serialiazer.base.Serializer 并重新定义serialize(...) 方法。我还开始了一个 python 具体序列化程序(我自己的基本序列化程序的子类),这是自定义构造字典所需的。
问题是,当我的查询集进入 serialize() 方法时,其中的每个 obj 都有一个用于 obj._meta.local_fields 的空列表 ([])。结果,我的序列化 python dicts 几乎是空的(除了主键和模型),因为我依赖这个列表。
我似乎无法找到该字段的起始位置。我也不明白为什么 _meta.local_fields 在我使用我的序列化程序时不一致,而不是在我使用 django 的序列化程序时不一致(我传递相同的代理对象查询集)。
谢谢。
编辑:我想也许 django 包中某处的一些 __init__ 代码有影响,但我也找不到那个方向的任何东西。
【问题讨论】: