Добавление пользовательских страниц Wagtail API, возвращающий пустой массив для связанного поля - PullRequest
0 голосов
/ 05 февраля 2019

Следуя документу в Добавление пользовательских полей страницы , я пытаюсь добавить Todo в модель объекта / страницы Задачи, чтобы их можно было запрашивать через API (то же самое для задач, сделать родительскую Задачу запрашиваемой),однако связанное поле всегда возвращает пустой массив (я бы ожидал, что связанные (родительские или дочерние) страницы будут в ответе:

class Task(Page):

    CHOICES = [(i, i) for i in range(11)]
    sub_order = models.IntegerField(default=1, choices=CHOICES)

    content_panels = Page.content_panels + [
        ...
    ]

    api_fields = [
        APIField('title'),
        APIField('todos'),
    ]

class Todo(Page):

    CHOICES = [(i, i) for i in range(1, 11)]
    sub_order = models.IntegerField(default=1, choices=CHOICES)

    parent_page_types = ['app.Task']

    page = models.ForeignKey('app.Task', on_delete=models.SET_NULL, null=True, blank=True, related_name='todos')

    content_panels = Page.content_panels + [
        ...
    ]

    api_fields = [
        APIField('parent_page_types'),
        APIField('sub_order'),

    ]

конечная точка: .../api/v2/pages/?format=json&type=app.Task&fields=*

Ответ:

{
    "meta": {
        "total_count": 1
    },
    "items": [
        {
            "id": 18,
            "meta": {
                "type": "app.Task",
                "detail_url": ".../api/v2/pages/18/",
                "html_url": "theURL",
                "slug": "aasdasdsad",
                "show_in_menus": false,
                "seo_title": "",
                "search_description": "",
                "first_published_at": "2019-02-05T14:13:09.596817Z"
            },
            "title": "aasdasdsad",
            "parent_page_types": [
                "app.ParentPageType"
            ],
            "sub_order": 1,
            "todos": [] <-------- EMPTY ?
        }
    ]
}

ОБНОВЛЕНИЕ: база данных sqlite, кажется, не создает / не добавляет задачи или задачи в таблицу при создании записей = /. Поле отображается как нулевое, но устранение неполадок

...