【问题标题】:Django : ORM objects come with nothing in _meta.local_fieldsDjango:ORM 对象在 _meta.local_fields 中没有任何内容
【发布时间】: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__ 代码有影响,但我也找不到那个方向的任何东西。

【问题讨论】:

    标签: python django


    【解决方案1】:

    似乎代理对象没有设置 local_fields,这是合乎逻辑的。我刚刚在现有代码(利用 django python 序列化程序)中发现了一些可以解决缺少 local_fields 的问题...

    我认为我的问题是无效的:-/

    【讨论】:

      猜你喜欢
      • 2020-01-06
      • 2020-05-18
      • 1970-01-01
      • 2021-02-06
      • 2014-12-29
      • 1970-01-01
      • 1970-01-01
      • 2016-04-01
      • 2014-09-29
      相关资源
      最近更新 更多