При создании объекта Page программно получена ошибка. ValidationError поля пути и глубины не могут быть пустыми / пустыми - PullRequest
1 голос
/ 29 марта 2019

Я пытаюсь программно создать объект PostPage. Этот класс наследует от модели Page трясогузки:

post = PostPage.objects.create(
    title='Dummy',
    intro='This is just for testing dummy',
    body='Lorem ipsum dolor...',
    first_published_at=datetime.strptime(f'2019-01-01', '%Y-%m-%d')
)

Однако я получаю следующую ошибку:

ValidationError: {'path': ['This field cannot be blank.'], 'depth': ['This field cannot be null.']}

Мне нужно создать несколько фиктивных Page объектов, поэтому мне интересно, как я могу решить эту проблему.

1 Ответ

1 голос
/ 29 марта 2019

Я нашел информацию, которая помогла мне решить эту проблему, в службе поддержки трясогузок Групп Google вопрос 1 и вопрос 2 . По сути, я не могу создать объект Page напрямую, но мне нужно добавить его на другую существующую страницу следующим образом:

# assuming HomePage has at least one element
home = HomePage.objects.all()[0]

post = PostPage(
        title='Dummy',
        intro='This is just for testing dummy',
        body='Lorem ipsum dolor...',
        first_published_at=datetime.strptime(f'2019-01-01', '%Y-%m-%d'),
)
home.add_child(instance=post)
home.save()

Это сработало как шарм!

...