Я вижу сбивающее с толку и то, что кажется совершенно плохим поведением при сериализации объектов django. Например, у меня есть модели:
class MyTag(TagBase):
user = models.ForeignKey(User)
class MyMpttTag(MPTTModel, MyTag):
parent = TreeForeignKey('self', null=True, blank=True, related_name='children')
class MPTTMeta:
parent_attr = 'parent'
что означает, что MyMpptTag имеет поля name, slug, user, parent
. Но когда я делаю serializers.serialize('json', MyMpptTag.object.all())
, я получаю: [{"fields": {"lft": 1, "level": 0, "tree_id": 29, "parent": null, "rght": 2}, "model" : "index.mymptttag", "pk": 45}...]
Почему я должен потерять name, slug, and user
и как мне их вернуть? Спасибо
MyTag
не является абстрактным классом, сериализация приведет как минимум к 2 типам объектов (с одним и тем же первичным ключом). Один из них будет из моделиMyMpttTag
, а другой из моделиMyTag
(их может быть больше, еслиTagBase
и его родители также не являются абстрактными). - person GwynBleidD   schedule 17.08.2015