Django: объекты ORM не содержат ничего в _meta.local_fields - PullRequest
0 голосов
/ 28 октября 2010

[python 2.6 - django 1.1.1]

Hello.

Я пишу собственный сериализатор для моего приложения django.

Все объекты, которые я использую, являются прокси-объектами, производными от классов моделей django и реализуют специальные члены, которые я должен сериализовать (следовательно, пользовательский сериализатор).

Итак, я начал реализовывать новый абстрактный сериализатор, который наследует django.core.serialiazer.base.Serializer и переопределяет метод serialize(...). Я также начал сериализатор Python для бетона (дочерний класс моего собственного базового Serializer), необходимый для пользовательского построения dict.

Проблема в том, что когда мой набор запросов входит в метод serialize (), каждый отдельный obj в нем имеет пустой список ([]) для obj._meta.local_fields. Как следствие, мои сериализованные команды Python почти пусты (кроме первичного ключа и модели), потому что я полагаюсь на этот список.

Я не могу найти, где это поле инициализируется. Я также не понимаю, почему _meta.local_fields не согласуется, когда я использую свой сериализатор, а не когда я использую сериализатор django (я передаю те же наборы запросов объектов прокси).

Спасибо.

РЕДАКТИРОВАТЬ: Я подумал, что, возможно, какой-то код __init__ где-то в пакетах django дал о себе знать, но я тоже ничего не могу найти в этом направлении.

1 Ответ

0 голосов
/ 28 октября 2010

Кажется, что у прокси-объектов не установлены локальные поля, что было бы логично.Я только что нашел что-то в существующем коде (использующем сериализатор Python django), который обходит отсутствие local_fields ...

Я думаю, что мой вопрос недействителен: - /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...