В django-поршне, как получить унаследованные модели должным образом сериализованными? - PullRequest
0 голосов
/ 19 ноября 2011

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

Например, если у меня есть:

class Parent(models.Model):
    foo = models.IntegerField()

class Child(Parent):
    bar = models.IntegerField()

И я получаю доступ к дочернему объекту, я получаю что-то вроде этого в виде вывода JSON:

{
    "bar": 1, 
    "foo": 2,
    "parent_ptr": {
        "foo": 2, 
        "_state": "<django.db.models.base.ModelState object at 0x1055bcf10>", 
        "id": 1, 
        "_original_state": {
            "id": 1, 
            "foo": 2
        }
    }, 
}

Должен ли я просто использовать parent_ptr в exclude? Можно ли автоматически исключить эти указатели? Я также вижу (в более сложных примерах), что не все поля из родительской модели доступны в дочерней модели. Я буду исследовать это немного подробнее.

...